【发布时间】:2012-02-21 17:17:10
【问题描述】:
我有一个函数可以通过操作左侧的值来水平滑动 div。一切正常我可以让它左右滚动就好了,我遇到的问题是我相信我的 if 语句并阻止它滚动。我正在测量 div 的左值,并且我知道它应该根据 div 和屏幕测量值移动的下限和上限。但即使左值远大于任一方向的限制,它也不会停止滚动。此外,第一个 if 语句测试面板是否甚至隐藏并需要滚动,这就是 panelWidth 和 portWidth 变量的用途。不确定我的变量是否没有更新或什么,有什么建议吗?提前谢谢。
JQuery 代码
function portfolioSlider() {
var portWidth = $(window).width()-440;
var panelsWidth = panels * 221;
var portDifference = panelsWidth - portWidth;
if (panelsWidth < portWidth) {
}
else if(panelsWidth > portWidth) {
var leftPosition = $('#web').css('left').replace(/[^-\d\.]/g, '');
var upperLimit = 220;
var lowerLimit = 220 - portDifference;
var hoverInterval;
if(leftPosition >= lowerLimit, leftPosition <= upperLimit) {
$(".arrow_right").css('display','block').css('opacity','1')
$(".arrow_left").css('display','block').css('opacity','1')
$(".arrow_right").hover(
function() {
hoverInterval = setInterval(
function() {
$('#web').css('left','-=2');
leftPosition = $('#web').css('left').replace(/[^-\d\.]/g, '');
},10);
},
function() {
clearInterval(hoverInterval);
}
);
$(".arrow_left").hover(
function() {
hoverInterval = setInterval(
function() {
$('#web').css('left','+=2');
leftPosition = $('#web').css('left').replace(/[^-\d\.]/g, '');
},10);
},
function() {
clearInterval(hoverInterval);
}
);
}
else {
}
};
};
portfolioSlider()
HTML 真的无关紧要,它只是一个带有图像面板的 div,效果很好。再次感谢您的任何建议。
【问题讨论】:
标签: jquery variables if-statement