尝试让它根据页面的左侧或右侧是否单击进行滚动。似乎不起作用..也许我的语法不正确或者我用来查找页面左侧或右侧的方法是?
<body onclick="scrollevent()">
:
<script>
function scrollevent()
{
var y=0;
var pwidth = $('#slideshow').width();
var mouseY = ev.clientY;
if (mouseY<(pwidth/2) {
$('#slideshow').animate({scrollLeft: "+=400"});
}
else{
$('#slideshow').animate({scrollLeft: "-=400"});
}
}
</script>
答案 0 :(得分:1)
.animate()方法允许我们在任何数字 CSS属性上创建动画效果。
http://api.jquery.com/animate/
.scrollLeft()是一个jQuery函数,而不是css属性。
upd:我的不好,正如文档所说:
除了样式属性外,还可以为一些非样式属性(如scrollTop和scrollLeft)以及自定义属性设置动画。
答案 1 :(得分:1)
您可以使用pageX
对象的event
而非 pageY 属性,请尝试以下操作:
相对于文档左边缘的鼠标位置。
$(document).click(function(e){ // or $(document).on('mousemove', function(e){
var mp = e.pageX;
var w = $(window).width() / 2;
if (mp < w) {
$('#slideshow').animate({scrollLeft: "+=400"});
} else {
$('#slideshow').animate({scrollLeft: "-=400"});
}
})
请注意,代码中存在语法错误,您错过了)
:
if (mouseY<(pwidth/2) {
应该是:
if ( mouseY < (pwidth/2) ) {
答案 2 :(得分:0)
答案 3 :(得分:0)
该行:
if (mouseY<(pwidth/2) {
缺少结束)
。试试这个:
if (mouseY<(pwidth/2)) {