js图片左右无缝滚动用鼠标控制图片滚动特效,鼠标放置容器的左侧或右侧 可以控制图片滚动方向,通过鼠标感应控制图片左右无缝滚动js代码效果演示,鼠标放置图片滚动代码素材

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js图片左右无缝滚动带鼠标感应效果 - bokequ.com</title>
<meta name="description" content="js图片滚动制作图片左右无缝滚动效果,通过鼠标感应控制图片左右无缝滚动。js代码。" />
</head>
<body>
<script type="text/javascript">
var dir=1;//每步移动像素,大=快
var speed=10;//循环周期(毫秒)大=慢
var MyMar=null;
function Marquee(){//正常移动
var scrollbox = document.getElementById("scrollbox");
var scrollcopy = document.getElementById("scrollcopy");
if(dir>0&&(scrollcopy.offsetWidth-scrollbox.scrollLeft)<=0){
scrollbox.scrollLeft=0;
}
if(dir<0 &&(scrollbox.scrollLeft<=0)){
scrollbox.scrollLeft=scrollcopy.offsetWidth;
}
scrollbox.scrollLeft+=dir;
}
function onmouseoverMy(){
window.clearInterval(MyMar);
}//暂停移动
function onmouseoutMy() {
MyMar=setInterval(Marquee,speed);
}//继续移动
function r_left(){
if(dir==-1)
dir=1;
}//换向左移
function r_right(){
if(dir==1)
dir=-1;
}//换向右移
function IsIE(){
var browser=navigator.appName
if((browser=="Netscape")){
return false;
}
else if(browser=="Microsoft Internet Explorer"){
return true;
}else{
return null;
}
}
var _IsIE = IsIE();
var _MousePX = 0;
var _MousePY = 0;
var _DivLeft = 0;
var _DivRight = 0;
var _AllDivWidth = 0;
var _AllDivHeight = 0;
function MoveDiv(e){
var obj = document.getElementById("scrollbox");
_MousePX = _IsIE ? (document.body.scrollLeft + event.clientX) : e.pageX;
_MousePY = _IsIE ? (document.body.scrollTop + event.clientY) : e.pageY;
//Opera Browser Can Support ''window.event'' and ''e.pageX''
var obj1 = null;
if(obj.getBoundingClientRect){
//IE
obj1 = document.getElementById("scrollbox").getBoundingClientRect();
_DivLeft = obj1.left;
_DivRight = obj1.right;
_AllDivWidth = _DivRight - _DivLeft;
}else if(document.getBoxObjectFor){
//FireFox
obj1 = document.getBoxObjectFor(obj);
var borderwidth = (obj.style.borderLeftWidth != null && obj.style.borderLeftWidth != "") ? parseInt(obj.style.borderLeftWidth) : 0;
_DivLeft = parseInt(obj1.x) - parseInt(borderwidth);
_AllDivWidth = Cut_Px(obj.style.width);
_DivRight = _DivLeft + _AllDivWidth;
}else{
//Other Browser(Opera)
_DivLeft = obj.offsetLeft;
_AllDivWidth = Cut_Px(obj.style.width);
var parent = obj.offsetParent;
if(parent != obj){
while (parent){
_DivLeft += parent.offsetLeft;
parent = parent.offsetParent;
}
}
_DivRight = _DivLeft + _AllDivWidth;
}
var pos1,pos2;
pos1 = parseInt(_AllDivWidth * 0.4) + _DivLeft;
pos2 = parseInt(_AllDivWidth * 0.6) + _DivLeft;
if(_MousePX > _DivLeft && _MousePX < _DivRight){
if(_MousePX > _DivLeft && _MousePX < pos1){
r_left(); //Move left
}
else if(_MousePX < _DivRight && _MousePX > pos2){
r_right(); //Move right
}
if(_MousePX > pos1 && _MousePX < pos2){
onmouseoverMy(); //Stop
MyMar=null;
}else if(_MousePX < pos1 || _MousePX > pos2){
if(MyMar==null){
MyMar=setInterval(Marquee,speed);
}
}
}
}
function Cut_Px(cswidth){
cswidth = cswidth.toLowerCase();
if(cswidth.indexOf("px") != -1){
cswidth.replace("px","");
cswidth = parseInt(cswidth);
}
return cswidth;
}
function MoveOutDiv(){
if(MyMar == null){
MyMar=setInterval(Marquee,speed);
}
}
</script>
<style type="text/css">
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
table{empty-cells:show;border-collapse:collapse;border-spacing:0;}
.titbox{font-size:18px;color:#3366cc;height:32px;overflow:hidden;width:880px;margin:20px auto;}
.scroll{width:880px;color:#333333;margin:0 auto;overflow:hidden;}
.scroll img{border:solid 1px #ddd;margin:0 5px;}
.scroll a:hover img{border:solid 1px #990000;}
</style>
<h2 class="titbox">鼠标放置 容器的左侧或右侧 可以控制图片滚动方向哦</h2>
<div class="scroll" id="scrollbox" onMouseMove="MoveDiv(event);" onMouseOut="MoveOutDiv();">
<div id="scrollcon" style="width:100%;">
<table>
<tbody>
<tr>
<td valign="top">
<table width="100%">
<tr>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="js文字切换特效制作焦点文字带滤镜切换效果" src="images/006BNLLHgy1fmt641lwp0j30hs0qo1dt.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="js文字特效制作js文字闪烁与文字变色效果" src="images/006BNLLHgy1fmt63xfow2j31hc0u0u0x.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="js文字滚动插件制作双行关联向上文字间隙滚动" src="images/006BNLLHgy1g1ob4wl7stj30u01hc1kx.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="js树形导航菜单制作垂直js导航条特效" src="images/006BNLLHgy1g1ob4ye1wlj31c00u0b2a.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="js导航菜单左侧竖纵向二级导航菜单可点击展开与收缩子菜单" src="images/006BNLLHgy1g1ob4waomsj30u01hc1kx.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="flash导航条制作二级菜单子菜单的flash导航条源码" src="images/006BNLLHgy1g1ob4x19rnj31hc0u04qp.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="flash导航条制作一个鼠标滑过动画特效flash导航条源码下载" src="images/006BNLLHgy1g1eueq6x6nj30ys0mmu0x.jpg" /></a></td>
<td><a href="http://www.bokequ.com/tag/jquery" target="_blank" rel="noopener">
<img height="150" width="250" alt="flash导航条制作一个鼠标滑过动画特效flash导航条源码下载" src="images/006BNLLHgy1g1ob4xa7xnj31hc0u07wh.jpg" /></a></td>
</tr>
</table>
</td>
<td><div id="scrollcopy" style="width:100%;"></div></td>
</tr>
</tbody>
</table>
</div>
</div>
<script type="text/javascript">
document.getElementById("scrollcopy").innerHTML = document.getElementById("scrollcon").innerHTML;
MyMar=setInterval(Marquee,speed);
</script>
</body>
</html>
鼠标控制图片左右无缝滚动js特效js演示效果


评论