我将在我的网站的某些部分使用jquery滚动。我使用的代码当然在下面,我用$(document).ready():
包装了这段代码var div = $('#wrap'),
wrapScreenHeight = div.height(),
wrapHeight = div.outerHeight(),
listHeight = div.find('ul').outerHeight();
div.on('mousemove', function(e) {
var cPointY = e.pageY,
dP = ((cPointY / wrapHeight));
div.scrollTop((listHeight * dP) - wrapScreenHeight);
});
我的html和css是:
<div id="wrap">
<ul>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a></h3></li>
<li><h3><a href="#">سینما نباشد دنیا نیست</a>just comedown but it doesn't go up</h3></li>
</ul>
</div>
代码在jsfiddle上正常工作但不幸的是,当我在我的网站上使用它时,它只会下降但在鼠标移动时不会上升。 this is my website link ==&gt;在我的网站中,我用1px红色边框包裹滚动部分!! and this is the jsfiddle
答案 0 :(得分:2)
它在小提琴中也不起作用,您认为它有效但如果您将div
300px放下(例如),它的行为与您网站(see your fiddle modified and it doesn't work)上的行为相同。
当onmousemove
触发时,e
具有相对于文档的鼠标值。您需要相对于div
的此值。
var div = $('#wrap'),
wrapScreenHeight = div.height(),
wrapHeight = div.outerHeight(),
listHeight = div.find('ul').outerHeight();
div.on('mousemove', function(e) {
var cPointY = e.pageY-$(this).position().top, //<== the position of the cursor relative to the div, not the document
dP = ((cPointY / wrapHeight));
div.scrollTop((listHeight * dP) - wrapScreenHeight);
});