我想问一下,我的这段拖动div的代码什么地方有问题啊,在ie里面正常,在ff下先拖一下可以,但松开鼠标后再点再拖就不行了,但如果在div中加入文本就可以了,为什么会这样啊?请各位高手指教.<html><head>
<script language="JavaScript" type="text/javascript" src="jquery-1.6.4.js"></script>
<style></style>
</head>
<body><div id="rect" style="width:200px;height:200px;position:absolute;background-color:pink;"></div><div id="display" style="position:absolute;top:300px;"></div>
</body>
</html><script>$(init);function init(){
rectEvent();
}function rectEvent(){
var slider = $("#rect");
var downFlag = false;var offX;slider.mousedown(function(e){
downFlag = true;
var event = getEvent(e);
offX = getOffsetX(event);});slider.mouseup(function(){
downFlag = false;
});slider.mouseout(function(){
downFlag = false;
});slider.mousemove(function(e){
var event = getEvent(e);if(!downFlag){
return false;
}var left = event.clientX - offX;
$("#display").text(left);
slider.css("left",left);
});}
function getEvent(event){
var event = event ? event : window.event;
return event;
}function getOffsetX(event){
var off_X = event.offsetX ? event.offsetX : event.layerX;
return off_X;
}</script>如果我在rect div随便加入文本如:11,这样就可以了,我一直不太明白为什么会这样?
<script language="JavaScript" type="text/javascript" src="jquery-1.6.4.js"></script>
<style></style>
</head>
<body><div id="rect" style="width:200px;height:200px;position:absolute;background-color:pink;"></div><div id="display" style="position:absolute;top:300px;"></div>
</body>
</html><script>$(init);function init(){
rectEvent();
}function rectEvent(){
var slider = $("#rect");
var downFlag = false;var offX;slider.mousedown(function(e){
downFlag = true;
var event = getEvent(e);
offX = getOffsetX(event);});slider.mouseup(function(){
downFlag = false;
});slider.mouseout(function(){
downFlag = false;
});slider.mousemove(function(e){
var event = getEvent(e);if(!downFlag){
return false;
}var left = event.clientX - offX;
$("#display").text(left);
slider.css("left",left);
});}
function getEvent(event){
var event = event ? event : window.event;
return event;
}function getOffsetX(event){
var off_X = event.offsetX ? event.offsetX : event.layerX;
return off_X;
}</script>如果我在rect div随便加入文本如:11,这样就可以了,我一直不太明白为什么会这样?
解决方案 »
- setTimeout带参数不执行
- js图片切换在ie7中不显示,在ie6中正常显示
- 关于传递 xmlhttprequest 的问题
- 怎么获取table 里的tr对象和tr里面的td 对象和td 对象里面的html对象
- 请教:java中的数组怎么才能传入javaScript中?
- ■□■□■怎么能在用户输入表单的时候给出候选提示?
- iframe中页面的打印问题
- 急!我想把服务器的数据写在客户端的a:盘,用asp好象实现不了,如果通过javascrit可不可以实现,如果能,该怎么做啊?急用!
- 怎么在网页上做图表?
- 如何用wookmark 分组显示
- 问个问题,js操作iframe的时候报拒绝访问是怎么回事?
- 怎样实现把一张图片从一个热区拖动到另一个热区?
slider.mousedown(function(e){
downFlag = true;
offX = getOffsetX(e);
return false;
});
唉,确实可以了,请问为什么要返回false呢?谢谢.