Jquery 当大小在mobile safari上更改时,Css侧菜单消失
我有个奇怪的问题。我用css和javascript制作了一个侧菜单,在页面的一侧显示一个购物车,但是当购物车div的内容改变时,它就从屏幕上消失了 我制作了一个jsfiddle来隔离问题的代码,但问题是:我无法用jsfiddle版本重现这个bug,我也找不到为什么会有这个bug 下面是理解代码的JSFIDLE: 这里是我发现这个错误的网站:Jquery 当大小在mobile safari上更改时,Css侧菜单消失,jquery,css,twitter-bootstrap,knockout.js,mobile-safari,Jquery,Css,Twitter Bootstrap,Knockout.js,Mobile Safari,我有个奇怪的问题。我用css和javascript制作了一个侧菜单,在页面的一侧显示一个购物车,但是当购物车div的内容改变时,它就从屏幕上消失了 我制作了一个jsfiddle来隔离问题的代码,但问题是:我无法用jsfiddle版本重现这个bug,我也找不到为什么会有这个bug 下面是理解代码的JSFIDLE: 这里是我发现这个错误的网站: 要复制它,只需在mobile safari(ipad或iphone)中转到此url,向购物车添加一个项目(第一次添加项目时,它将消失。你能告诉我们更多关
要复制它,只需在mobile safari(ipad或iphone)中转到此url,向购物车添加一个项目(第一次添加项目时,它将消失。你能告诉我们更多关于该网站的信息吗?我看到它是基于Bootstrap3构建的吗?它是基于Wordpress构建的吗?这是一个插件吗?不,它完全是手工制作的,是的,它基于Bootstrap3和knockoutjs,就像我在标签上对它进行了细化一样。
// when click show side panel
$('#' + prefix + '-btn').click(function () {
$(this).toggleClass('open');
// Hide all other boxes
var boxes = $('.box-container');
$.each(boxes, function (index, box) {
if ($(box).data('prefix') != prefix)
hideBoxes($(box).data('prefix'), true);
});
var right = $('#' + prefix + '-container').css('right');
var width = $('.' + prefix + '-box').outerWidth();
var rightHide = '-' + width.toString() + 'px';
var zindex = 180;
if (right != '0px') {
rightHide = '0px';
zindex = 1000;
$('#cart-container').css('z-index', zindex);
}
$('#' + prefix + '-container').stop(true, true).animate({ right: rightHide }, 800, function () {
// Animation complete.
$('#cart-container').css('z-index', zindex);
});
return false;
});
// hide after loading
hideBoxes(prefix, false);
// recalculate when div resized
$('.' + prefix + '-container').bind('DOMSubtreeModified', function () {
if (window[prefix + 'width'] != $(this).width())
hideBoxes(prefix, false);
window[prefix + 'width'] = $(this).width();
window[prefix + 'height'] = $(this).height(); // pas utiilise pour le moment
});
// recalculate when window resize
$(window).resize(function () {
hideBoxes(prefix, false);
});
// Follow window scroll
$(window).scroll(function () {
if ($(window).scrollTop() > 80) {
//$('#' + prefix + '-container').animate({ top: (defaultTop - 80) }, 200);
$('#' + prefix + '-container').css('top', (defaultTop - 80) + 'px');
} else {
$('#' + prefix + '-container').stop(true, true).css('top', defaultTop + 'px');
}
});
}