JavaScript配合CSS在网页上实现一个可用鼠标拖放的模块,并且在这个模块中还有一个图片链接哦,总体来说这是一个简单的例子,还不能直接运用到网页当中,高手就不要看了,初学者可以练一下手,参考一下。 示例: <html> <head> <title>JavaScript拖拽</title> <script type="text/javascript" src="/ajaxjs/jquery-1.4.2.min.js"></script> <script type="text/javascript"> $(document).ready(function () { var fx; var fy; var flag = false; var title = $("#m_div_title"); var m_div = $("#m_div"); m_div.mousemove(function (event) { if (flag) { var myEvent = event || window.event; changeXY(m_div, myEvent); } }); m_div.mouseup(function () { title.unbind("mousemove"); flag = false; }); title.mousedown(function (event) { var t = $(this); var myEvent = event || window.event; fx = myEvent.clientX; fy = myEvent.clientY; t.mousemove(function (event) { var myEvent = event || window.event; changeXY(m_div, myEvent); flag = true; }); return false; }); title.mousemove(function (event) { var myEvent = event || window.event; changeXY(m_div, myEvent); flag = true; }) function changeXY(m_div, myEvent) { if (fx > myEvent.clientX) { var change_top_x = parseInt(m_div.css("left")) - (fx - myEvent.clientX); //测试是否超出左边窗口 if (change_top_x < 5) { change_top_x = 5; //flag = false; //title.unbind("mousemove"); } m_div.css("left", change_top_x + "px"); fx = myEvent.clientX; } if (fx < myEvent.clientX) { var change_top_x = parseInt(m_div.css("left")) + (myEvent.clientX - fx); //测试是否超出窗口右边 if (change_top_x > ($(window).width() - parseInt(m_div.css("width")) - 5)) { change_top_x = ($(window).width() - parseInt(m_div.css("width")) - 5); //flag = false; //title.unbind("mousemove"); } m_div.css("left", change_top_x + "px"); fx = myEvent.clientX; } if (fy > myEvent.clientY) { var change_top_y = parseInt(m_div.css("top")) - (fy - myEvent.clientY); //测试是否超出窗口顶部 if (change_top_y < 5) { change_top_y = 5; // flag = false; // title.unbind("mousemove"); } m_div.css("top", change_top_y + "px"); fy = myEvent.clientY; } if (fy < myEvent.clientY) { var change_top_y = parseInt(m_div.css("top")) + (myEvent.clientY - fy); //测试是否超出窗口底部 if (change_top_y > ($(window).height() - parseInt(m_div.css("height")) - 5)) { change_top_y = ($(window).height() - parseInt(m_div.css("height")) - 5); //flag = false; //title.unbind("mousemove"); } m_div.css("top", change_top_y + "px"); fy = myEvent.clientY; } } // VeryHuo.COM title.mouseup(function () { title.unbind("mousemove"); flag = false; }); title.mouseout(function () { title.unbind("mousemove"); document.onmousemove = document.onmouseup = null; }); }); </script> <style> #m_div { border: 1px solid #000000; width: 400px; height: 250px; position: absolute; top: 300px; left: 400px; background-color: #FFFFFF; } #m_div_title { background: #ffffff; height: 250px; color: #FFFFFF; cursor: crosshair } </style> </head> <body> <div id="m_div"> <div id="m_div_title"> <span style="margin-right: 280px"></span> <img id="img" src="/images/logo.gif"> </div> </div> </body> </html><br /><center>如不能显示效果,请按Ctrl+F5刷新本页,更多网页代码:<a href='http://www.veryhuo.com/' target='_blank'>http://www.veryhuo.com/</a></center>提示:可修改后代码再运行! 文章导航 关于 js 优化的一些经验网页拖动模块,Js层拖拽,加减号收缩和展开