gpt4 book ai didi

jquery - 我想使用鼠标位置垂直滚动图像

转载 作者:行者123 更新时间:2023-11-28 12:30:46 25 4
gpt4 key购买 nike

我一直在尝试修改水平滚动图像的代码。我想垂直滚动它。我根本不知道 JQuery。尝试了几个小时后,我找不到任何方法来解决这个问题。任何人都可以在这方面帮助我。

这是完整的代码。

$(function() {
$(window).load(function() {
var $gal = $("#propertyThumbnails"),
galW = $gal.outerWidth(true),
galSW = $gal[0].scrollWidth,
wDiff = (galSW / galW) - 1, // widths difference ratio
mPadd = 60, // Mousemove Padding
damp = 20, // Mousemove response softness
mX = 0, // Real mouse position
mX2 = 0, // Modified mouse position
posX = 0,
mmAA = galW - (mPadd * 2), // The mousemove available area
mmAAr = (galW / mmAA); // get available mousemove fidderence ratio
$gal.mousemove(function(e) {
mX = e.pageX - $(this).parent().offset().left - this.offsetLeft;
mX2 = Math.min(Math.max(0, mX - mPadd), mmAA) * mmAAr;
});
setInterval(function() {
posX += (mX2 - posX) / damp; // zeno's paradox equation "catching delay"
$gal.scrollLeft(posX * wDiff);
}, 10);
});
});
#parent {
position: relative;
margin: 0 auto;
width: 100%;
background: #ddd;
}
#propertyThumbnails {
position: relative;
overflow: hidden;
background: #444;
width: 100%;
white-space: nowrap;
}
#propertyThumbnails img {
vertical-align: middle;
display: inline;
margin-left: -4px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="parent">
<div id="propertyThumbnails">
<img src="http://placehold.it/1000x100" />
</div>
</div>

这是演示:

http://jsbin.com/alokat/1/edit?html,css,js,output

我把脚本改成了

$(function(){

$(window).load(function(){

var $gal = $("#propertyThumbnails"),
galW = $gal.outerHeight(true),
galSW = $gal[0].scrollHeight,
wDiff = (galSW/galW)-1, // widths difference ratio
mPadd = 60, // Mousemove Padding
damp = 20, // Mousemove response softness
mX = 0, // Real mouse position
mX2 = 0, // Modified mouse position
posX = 0,
mmAA = galW-(mPadd*2), // The mousemove available area
mmAAr = (galW/mmAA); // get available mousemove fidderence ratio

$gal.mousemove(function(e) {
mX = e.pageY - $(this).parent().offset().top - this.offsetTop;
mX2 = Math.min( Math.max(0, mX-mPadd), mmAA ) * mmAAr;
});

setInterval(function(){
posX += (mX2 - posX) / damp; // zeno's paradox equation "catching delay"
$gal.scrollTop(posX*wDiff);
}, 10);

});

});

最佳答案

您对 JavaScript 的修改相当正面,但您还需要稍微更改样式表以适应新行为:

CSS

#propertyThumbnails img {
display: block;
/* ... */
}

Working example on JSFiddle.

这个小改动将使浏览器将图像放置在彼此下方 ( block-level elements ),而不是彼此相邻 ( inline elements )。

另请注意 JavaScript 部分中更改的初始化。

关于jquery - 我想使用鼠标位置垂直滚动图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28680169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com