1.如何实践网页中这种效果,
如何实践网页中这种效果,
一、通过两个div实现,交友联盟源码设置上层div为overflow:hidde,相当于一个窗口,对下层div实现裁剪,只显示窗口以内的部分内容;而下层div里就是我们需要左右移动的,通过左右滚动,从而实现了的左右移动。不过他离我实际需要的点击弹出分享源码效果还是有点点不一样,他是设置了两个button,一个是“向左”,一个是'向右",通过button.onmouseover()来检测鼠标是否移到button上了,当鼠标移动到“向左”按钮上时,在线业务网源码则通过调用向左滚动的代码,来实现向左移动;当鼠标移动到“向右”按钮上时,则通过调用向右滚动的代码,来实现向右移动;当鼠标移动到上时,则不动。幸运28整套源码
二、虽然通过“向左”、“向右”两个按钮,实现了的左移和右移,但我想要的电商精灵源码是当鼠标放在左边时,则左移;当鼠标放在右边时,则右移;当放中间时则不动。很明显,假如我得到了鼠标在中间的相对位置,那么我就可以判断鼠标是处于左半部分还是有半部分,然后就互相结合起来了,达到我想要的效果。
于是我下一步要做的就是“通过js获取鼠标在中的相对坐标”。还是在网上搜资料,代码如下:
<script type="text/javascript">window.onload = function()
{ var xSpan = document.getElemmentById("test");//test是测试的id,需要在body里引入<img src="" id="test"/> imgNode.onmousemove = function()
{
VAR X= event.clientX; //x坐标:鼠标在中的相对位置
VAR Y= event.clientY; //y坐标:鼠标在中的相对位置 }}</script>
(三)最后根据以上两段代码,整合成的最终源码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4. Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Run.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
window.onload = function()
{
var imgNode = document.getElementById("demo");
var xSpan = document.getElementById("x");
var ySpan = document.getElementById("y");
imgNode.onmousemove = function()
{
xSpan.innerHTML = event.clientX;
ySpan.innerHTML = event.clientY;
<!--根据获得的X坐标,与的宽进行对比,分成在左侧、中间、右侧三种情况 -->
if(event.clientX<demo.offsetWidth/2-)
{ if(MyMar) clearInterval(MyMar);Fang=1;MyMar=setInterval(MarqueeL,speed)}
else if(event.clientX>demo.offsetWidth/2-&&event.clientX<demo.offsetWidth/2+)
{ clearInterval(MyMar)}
else if(event.clientX>demo.offsetWidth/2+)
{ if(MyMar) clearInterval(MyMar);Fang=0;MyMar=setInterval(MarqueeR,speed)}
}
}
</script>
</head>
<body>
<div id="demo" style="overflow:hidden;width:px">
<div id="c1" style="width:px"><img width="" src="images/.jpg"><img width="" src="images/.jpg">
</div>
</div>
<script>
var speed=;
var c1_w=c1.offsetWidth;
c1.style.width=c1_w*2+"px";
c1.innerHTML=c1.innerHTML;
var Fang=1;
var MyMar=setInterval(MarqueeL,speed);
function MarqueeL() <!-- 下层div向左滚动-->
{
if(c1_w-demo.scrollLeft*2<=0) demo.scrollLeft-=c1_w; else demo.scrollLeft++;
}
function MarqueeR() <!--下层div向右滚动-->
{
if(c1_w-demo.scrollLeft>=c1_w) demo.scrollLeft+=c1_w/2; else demo.scrollLeft--;
}
</script>
鼠标相对窗口坐标是x:<span id="x"></span>--y:<span id="y"></span>
</body>
</html>