使用 overflow:hidden 垂直滚动和水平滚动的圆圈 div - mousemove
circle divs in holder with overflow:hidden scroll vertically and horizontally scroll - mousemove
我正在尝试在支架 div 中制作圆圈 divs。 overflow:hidden;
。我在使用 mousemove 事件时遇到了一些问题。这是我的例子:jsfiddle and here is my goal: ello.co。我也搜索了一些关于mousemove的问题,但是我找不到垂直和水平在一起的。
html:
<div id="holder"><ul id="scroll">
<li><div class="si"></div></li>
<li><div class="si"></div></li><ul>
<li><div class="si"></div></li><ul>
</ul>
</ul></div>
css:
#holder {
background: pink;
width: 500px;
height: 500px;
overflow:hidden;
line-height: 30px;
margin-left: 100px;
}
#scroll{
height: 30px;
line-height: 30px;
margin-left: 0;
padding: 0 10px;
}
#scroll li {
float: left;
padding: 0 5px;
}
.si{
width:150px;
height:150px;
background-color:black;
float:left;
border-radius:150px;
margin:10px;
}
.si:hover{
width:160px;
height:160px;
margin:2px;
}
javascript:
var sum = 0;
$("#scroll li").each(function() {
sum += $(this).width() + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('paddingRight'))
});
$("#scroll").css('width', sum);
$("#holder").mousemove(function(e) {
x = -(((e.pageX - $('#scroll').position().left) / $("#holder").width()) * ($("#scroll").width() + parseInt($("#scroll").css('paddingLeft')) + parseInt($("#scroll").css('paddingRight')) - $("#holder").width()));
$("#scroll").css({
'marginLeft': x + 'px'
});
});
如果你想让它也垂直移动,你可以使用与 x 相同的代码并修改它:
http://jsfiddle.net/pAu8Q/511/
y = -(((e.pageY - $('#scroll').position().left) / $("#holder").width()) * ($("#scroll").width() + parseInt($("#scroll").css('paddingTop')) + parseInt($("#scroll").css('paddingBottom')) - $("#holder").width()));
$("#scroll").css({
'marginTop': y + 'px'
});
我正在尝试在支架 div 中制作圆圈 divs。 overflow:hidden;
。我在使用 mousemove 事件时遇到了一些问题。这是我的例子:jsfiddle and here is my goal: ello.co。我也搜索了一些关于mousemove的问题,但是我找不到垂直和水平在一起的。
html:
<div id="holder"><ul id="scroll">
<li><div class="si"></div></li>
<li><div class="si"></div></li><ul>
<li><div class="si"></div></li><ul>
</ul>
</ul></div>
css:
#holder {
background: pink;
width: 500px;
height: 500px;
overflow:hidden;
line-height: 30px;
margin-left: 100px;
}
#scroll{
height: 30px;
line-height: 30px;
margin-left: 0;
padding: 0 10px;
}
#scroll li {
float: left;
padding: 0 5px;
}
.si{
width:150px;
height:150px;
background-color:black;
float:left;
border-radius:150px;
margin:10px;
}
.si:hover{
width:160px;
height:160px;
margin:2px;
}
javascript:
var sum = 0;
$("#scroll li").each(function() {
sum += $(this).width() + parseInt($(this).css('paddingLeft')) + parseInt($(this).css('paddingRight'))
});
$("#scroll").css('width', sum);
$("#holder").mousemove(function(e) {
x = -(((e.pageX - $('#scroll').position().left) / $("#holder").width()) * ($("#scroll").width() + parseInt($("#scroll").css('paddingLeft')) + parseInt($("#scroll").css('paddingRight')) - $("#holder").width()));
$("#scroll").css({
'marginLeft': x + 'px'
});
});
如果你想让它也垂直移动,你可以使用与 x 相同的代码并修改它:
http://jsfiddle.net/pAu8Q/511/
y = -(((e.pageY - $('#scroll').position().left) / $("#holder").width()) * ($("#scroll").width() + parseInt($("#scroll").css('paddingTop')) + parseInt($("#scroll").css('paddingBottom')) - $("#holder").width()));
$("#scroll").css({
'marginTop': y + 'px'
});