[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: создание каретки
xaleva
Привет всем!У меня возникла такая проблемка.Мне необходимо создать рейтинговую систему,которая бы работала следующим образом:На документе находилась бы шкала,на которой была бы каретка,которую можно перемещать с помощью мыши,в зависимости от расположения каретки меняется значение,я тут набросал кой что,но никак не могу избавится от проблемы:иногда он начинает глюить и при отпускании мыши каретка продлжает двигаться.Вот исходник:
Код
<html>
<head>
<!-- Приведенный ниже код заключается между тегами <head>...</head> -->
<style>.drag{position:absolute;width:10;height:50;font-size:24;padding:4;border:2px solid darkred;}    
.dragA{-moz-user-select:none}</style>    
<script>
d=document;
g=function(a){return d.getElementById(a);}    
FF=!d.all; /*isGecko; можно FF=!d.all||self.opera; */    
    zMax=7; mouseDown=0;    //установки скрипта    
    var posY,posX;    //переменные скрипта    
//for(i=0;i<zMax;i++)
d.write('<div id=drag class=drag></div>');    
onload=function(){
//for(i=0;i<zMax;i++){
g('drag').style.left=g('drag').style.top=10;    
    g('drag').style.backgroundColor='orange'.split(',')[0%5];}
    //}    
//--генерируем слои, (потому что каждый лень писать)    
d.onmousedown=function(e){    
    if((t=FF?e.target:event.srcElement).className.substr(0,4)!="drag")return;    //отсечка лишнего    
    if(FF)e.preventDefault();  //отмена "dragstart" для FF    
    if(t.className=="dragA")t=t.parentNode; //выбор слоя для таскания    
    posY=(FF?e.pageY:event.y+d.body.scrollTop)-parseInt(t.style.top);    
    posX=(FF?e.pageX:event.x+d.body.scrollLeft)-parseInt(t.style.left);    //начальная точка захвата    
    t.style.zIndex=zMax++;        //подъём слоя над другими    
    mouseDown=t;
}    
d.onmousemove=function eMove(e){if(!mouseDown)return;    
     // mouseDown.style.top=(FF?e.pageY:event.y+d.body.scrollTop)-posY;    
if(((FF?e.pageX:event.x+d.body.scrollLeft)-posX<200) && ((FF?e.pageX:event.x+d.body.scrollLeft)-posX>0)){
        mouseDown.style.left=(FF?e.pageX:event.x+d.body.scrollLeft)-posX;    
document.getElementById('view').innerHTML=(FF?e.pageX:event.x+d.body.scrollLeft)-posX;
document.getElementById('zn').value=(FF?e.pageX:event.x+d.body.scrollLeft)-posX;
}
    
}    
d.onmouseup=function(e){
//if(((FF?e.pageX:event.x+d.body.scrollLeft)-posX<200) && ((FF?e.pageX:event.x+d.body.scrollLeft)-posX>0)){
//alert('yes');
//eMove=0;
mouseDown=0;
d.mousemove=0;
//}
}    
d.ondragstart=d.onselectstart=function(){ //отмена действий бр. для IE    
  if(event.srcElement.className.substr(0,4)=="drag")event.returnValue=!1;}
   -->
</script>
</head>
<body background=book.jpg>
<br><br><br><br><br>
<form action=golos.php?id=<? $span=$_GET['span']; echo $span; ?> method=post class=context>
<input type=hidden id='zn' name='zn' class=context>
<input type=submit value='Голосовать'  class=context>
<div id=view></div>
</form>
</body>
</html>

Я просматривал тему drag and drop ,но там другое кажись rolleyes.gif



Спустя 1 день, 2 часа, 44 минуты, 8 секунд (1.05.2007 - 17:10) xaleva написал(а):
Прошел день.... rolleyes.gif

Спустя 5 часов, 14 минут, 24 секунды (1.05.2007 - 22:24) Timok написал(а):
в каком браузере глючит? в ie6, o9, ff2 - всё нормально, без глюков...

Спустя 1 день, 16 часов, 44 минуты, 59 секунд (3.05.2007 - 15:09) xaleva написал(а):
Да????А у меня глючит....блин...пофиг...глюк не очень заметный)) hi.gif спасиб)

Спустя 10 минут, 21 секунда (3.05.2007 - 15:19) TRIAL написал(а):
Цитата(xaleva @ 3.5.2007, 16:09) [snapback]19684[/snapback]
А у меня глючит....блин...пофиг...глюк не очень заметный

Вот это 5 баллов :)


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.