一个不错的打分页面

本文介绍了一个使用JavaScript实现的拖拽层功能,包括如何设置元素可拖动及响应鼠标事件的方法。此外,还包含了一个简单的打分功能,用于收集用户反馈。文章通过具体的代码示例展示了整个实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载全部代码:http://dl2.youkuaiyun.com/down4/20070724/24121932233.rar

执行: http://dl2.youkuaiyun.com/down4/20070724/24122653470.asp 

javaScript部分:

< script language = " JavaScript "  type = " text/JavaScript " >
<!--
function  MM_reloadPage(init) {   // reloads the window if Nav4 resized
   if  (init == true with  (navigator) { if  ((appName == " Netscape " ) && (parseInt(appVersion) == 4 )) {
    document.MM_pgW
= innerWidth; document.MM_pgH = innerHeight; onresize = MM_reloadPage; }}
  
else   if  (innerWidth != document.MM_pgW  ||  innerHeight != document.MM_pgH) location.reload();
}
MM_reloadPage(
true );

function  MM_findObj(n, d) {  // v4.01
   var  p,i,x;   if ( ! d) d = document;  if ((p = n.indexOf( " ? " )) > 0 && parent.frames.length) {
    d
= parent.frames[n.substring(p + 1 )].document; n = n.substring( 0 ,p);}
  
if ( ! (x = d[n]) && d.all) x = d.all[n];  for  (i = 0 ; ! x && i < d.forms.length;i ++ ) x = d.forms[i][n];
  
for (i = 0 ; ! x && d.layers && i < d.layers.length;i ++ ) x = MM_findObj(n,d.layers[i].document);
  
if ( ! &&  d.getElementById) x = d.getElementById(n);  return  x;
}

function  MM_dragLayer(objName,x,hL,hT,hW,hH,toFront,dropBack,cU,cD,cL,cR,targL,targT,tol,dropJS,et,dragJS) {  // v4.01
   // Copyright 1998 Macromedia, Inc. All rights reserved.
   var  i,j,aLayer,retVal,curDrag = null ,curLeft,curTop,IE = document.all,NS4 = document.layers;
  
var  NS6 = ( ! IE && document.getElementById), NS = (NS4 || NS6);  if  ( ! IE  &&   ! NS)  return   false ;
  retVal 
=   true if (IE  &&  event) event.returnValue  =   true ;
  
if  (MM_dragLayer.arguments.length  >   1 ) {
    curDrag 
=  MM_findObj(objName);  if  ( ! curDrag)  return   false ;
    
if  ( ! document.allLayers) { document.allLayers  =   new  Array();
      
with  (document)  if  (NS4) {  for  (i = 0 ; i < layers.length; i ++ ) allLayers[i] = layers[i];
        
for  (i = 0 ; i < allLayers.length; i ++ if  (allLayers[i].document  &&  allLayers[i].document.layers)
          
with  (allLayers[i].document)  for  (j = 0 ; j < layers.length; j ++ ) allLayers[allLayers.length] = layers[j];
      } 
else  {
        
if  (NS6) {  var  spns  =  getElementsByTagName( " span " );  var  all  =  getElementsByTagName( " div " ); 
          
for  (i = 0 ;i < spns.length;i ++ if  (spns[i].style && spns[i].style.position) allLayers[allLayers.length] = spns[i];}
        
for  (i = 0 ;i < all.length;i ++ if  (all[i].style && all[i].style.position) allLayers[allLayers.length] = all[i]; 
    } }
    curDrag.MM_dragOk
= true ; curDrag.MM_targL = targL; curDrag.MM_targT = targT;
    curDrag.MM_tol
= Math.pow(tol, 2 ); curDrag.MM_hLeft = hL; curDrag.MM_hTop = hT;
    curDrag.MM_hWidth
= hW; curDrag.MM_hHeight = hH; curDrag.MM_toFront = toFront;
    curDrag.MM_dropBack
= dropBack; curDrag.MM_dropJS = dropJS;
    curDrag.MM_everyTime
= et; curDrag.MM_dragJS = dragJS;
    curDrag.MM_oldZ 
=  (NS4) ? curDrag.zIndex:curDrag.style.zIndex;
    curLeft
=  (NS4) ? curDrag.left:(NS6) ? parseInt(curDrag.style.left):curDrag.style.pixelLeft; 
    
if  (String(curLeft) == " NaN " ) curLeft = 0 ; curDrag.MM_startL  =  curLeft;
    curTop 
=  (NS4) ? curDrag.top:(NS6) ? parseInt(curDrag.style.top):curDrag.style.pixelTop; 
    
if  (String(curTop) == " NaN " ) curTop = 0 ; curDrag.MM_startT  =  curTop;
    curDrag.MM_bL
= (cL < 0 ) ? null :curLeft - cL; curDrag.MM_bT = (cU < 0 ) ? null :curTop - cU;
    curDrag.MM_bR
= (cR < 0 ) ? null :curLeft + cR; curDrag.MM_bB = (cD < 0 ) ? null :curTop + cD;
    curDrag.MM_LEFTRIGHT
= 0 ; curDrag.MM_UPDOWN = 0 ; curDrag.MM_SNAPPED = false // use in your JS!
    document.onmousedown  =  MM_dragLayer; document.onmouseup  =  MM_dragLayer;
    
if  (NS) document.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
  } 
else  {
    
var  theEvent  =  ((NS) ? objName.type:event.type);
    
if  (theEvent  ==   ' mousedown ' ) {
      
var  mouseX  =  (NS) ? objName.pageX : event.clientX  +  document.body.scrollLeft;
      
var  mouseY  =  (NS) ? objName.pageY : event.clientY  +  document.body.scrollTop;
      
var  maxDragZ = null ; document.MM_maxZ  =   0 ;
      
for  (i = 0 ; i < document.allLayers.length; i ++ ) { aLayer  =  document.allLayers[i];
        
var  aLayerZ  =  (NS4) ? aLayer.zIndex:parseInt(aLayer.style.zIndex);
        
if  (aLayerZ  >  document.MM_maxZ) document.MM_maxZ  =  aLayerZ;
        
var  isVisible  =  (((NS4) ? aLayer.visibility:aLayer.style.visibility).indexOf( ' hid ' ==   - 1 );
        
if  (aLayer.MM_dragOk  !=   null   &&  isVisible)  with  (aLayer) {
          
var  parentL = 0 var  parentT = 0 ;
          
if  (NS6) { parentLayer  =  aLayer.parentNode;
            
while  (parentLayer  !=   null   &&  parentLayer.style.position) {             
              parentL 
+=  parseInt(parentLayer.offsetLeft); parentT  +=  parseInt(parentLayer.offsetTop);
              parentLayer 
=  parentLayer.parentNode;
          } } 
else   if  (IE) { parentLayer  =  aLayer.parentElement;       
            
while  (parentLayer  !=   null   &&  parentLayer.style.position) {
              parentL 
+=  parentLayer.offsetLeft; parentT  +=  parentLayer.offsetTop;
              parentLayer 
=  parentLayer.parentElement; } }
          
var  tmpX = mouseX - (((NS4) ? pageX:((NS6) ? parseInt(style.left):style.pixelLeft) + parentL) + MM_hLeft);
          
var  tmpY = mouseY - (((NS4) ? pageY:((NS6) ? parseInt(style.top):style.pixelTop)  + parentT) + MM_hTop);
          
if  (String(tmpX) == " NaN " ) tmpX = 0 if  (String(tmpY) == " NaN " ) tmpY = 0 ;
          
var  tmpW  =  MM_hWidth;   if  (tmpW  <=   0 ) tmpW  +=  ((NS4) ? clip.width :offsetWidth);
          
var  tmpH  =  MM_hHeight;  if  (tmpH  <=   0 ) tmpH  +=  ((NS4) ? clip.height:offsetHeight);
          
if  (( 0   <=  tmpX  &&  tmpX  <  tmpW  &&   0   <=  tmpY  &&  tmpY  <  tmpH)  &&  (maxDragZ  ==   null
              
||  maxDragZ  <=  aLayerZ)) { curDrag  =  aLayer; maxDragZ  =  aLayerZ; } } }
      
if  (curDrag) {
        document.onmousemove 
=  MM_dragLayer;  if  (NS4) document.captureEvents(Event.MOUSEMOVE);
        curLeft 
=  (NS4) ? curDrag.left:(NS6) ? parseInt(curDrag.style.left):curDrag.style.pixelLeft;
        curTop 
=  (NS4) ? curDrag.top:(NS6) ? parseInt(curDrag.style.top):curDrag.style.pixelTop;
        
if  (String(curLeft) == " NaN " ) curLeft = 0 if  (String(curTop) == " NaN " ) curTop = 0 ;
        MM_oldX 
=  mouseX  -  curLeft; MM_oldY  =  mouseY  -  curTop;
        document.MM_curDrag 
=  curDrag;  curDrag.MM_SNAPPED = false ;
        
if (curDrag.MM_toFront) {
          eval(
' curDrag. ' + ((NS4) ? '' : ' style. ' ) + ' zIndex=document.MM_maxZ+1 ' );
          
if  ( ! curDrag.MM_dropBack) document.MM_maxZ ++ ; }
        retVal 
=   false if ( ! NS4 &&! NS6) event.returnValue  =   false ;
    } } 
else   if  (theEvent  ==   ' mousemove ' ) {
      
if  (document.MM_curDrag)  with  (document.MM_curDrag) {
        
var  mouseX  =  (NS) ? objName.pageX : event.clientX  +  document.body.scrollLeft;
        
var  mouseY  =  (NS) ? objName.pageY : event.clientY  +  document.body.scrollTop;
        newLeft 
=  mouseX - MM_oldX; newTop   =  mouseY - MM_oldY;
        
if  (MM_bL != null ) newLeft  =  Math.max(newLeft,MM_bL);
        
if  (MM_bR != null ) newLeft  =  Math.min(newLeft,MM_bR);
        
if  (MM_bT != null ) newTop   =  Math.max(newTop ,MM_bT);
        
if  (MM_bB != null ) newTop   =  Math.min(newTop ,MM_bB);
        MM_LEFTRIGHT 
=  newLeft - MM_startL; MM_UPDOWN  =  newTop - MM_startT;
        
if  (NS4) {left  =  newLeft; top  =  newTop;}
        
else   if  (NS6){style.left  =  newLeft; style.top  =  newTop;}
        
else  {style.pixelLeft  =  newLeft; style.pixelTop  =  newTop;}
        
if  (MM_dragJS) eval(MM_dragJS);
        retVal 
=   false if ( ! NS) event.returnValue  =   false ;
    } } 
else   if  (theEvent  ==   ' mouseup ' ) {
      document.onmousemove 
=   null ;
      
if  (NS) document.releaseEvents(Event.MOUSEMOVE);
      
if  (NS) document.captureEvents(Event.MOUSEDOWN);  // for mac NS
       if  (document.MM_curDrag)  with  (document.MM_curDrag) {
        
if  ( typeof  MM_targL  == ' number '   &&   typeof  MM_targT  ==   ' number '   &&
            (Math.pow(MM_targL
- ((NS4) ? left:(NS6) ? parseInt(style.left):style.pixelLeft), 2 ) +
             Math.pow(MM_targT
- ((NS4) ? top:(NS6) ? parseInt(style.top):style.pixelTop), 2 )) <= MM_tol) {
          
if  (NS4) {left  =  MM_targL; top  =  MM_targT;}
          
else   if  (NS6) {style.left  =  MM_targL; style.top  =  MM_targT;}
          
else  {style.pixelLeft  =  MM_targL; style.pixelTop  =  MM_targT;}
          MM_SNAPPED 
=   true ; MM_LEFTRIGHT  =  MM_startL - MM_targL; MM_UPDOWN  =  MM_startT - MM_targT; }
        
if  (MM_everyTime  ||  MM_SNAPPED) eval(MM_dropJS);
        
if (MM_dropBack) { if  (NS4) zIndex  =  MM_oldZ;  else  style.zIndex  =  MM_oldZ;}
        retVal 
=   false if ( ! NS) event.returnValue  =   false ; }
      document.MM_curDrag 
=   null ;
    }
    
if  (NS) document.routeEvent(objName);
  } 
return  retVal;
}
// -->
function  get_pos()
{
var  layer_left,pos_end,point;
layer_left
= Layer1.style.left;
pos_end
= layer_left.indexOf( ' px ' );
point
= layer_left.substring( 0 ,pos_end);
point
= Math.round((point - 40 ) / 4 )
ss.innerText
= point + 50 ;
form1.PFFS.value
= point + 50 ;
}
setInterval(
" get_pos() " , 100 )
</ script >

 

 

接收打分的分数值

< %
if  Request.Form( " PFFS " ) <> ""   then
Response.Write(
" <script language='javaScript'>alert('你的打分是: " + Request.Form( " PFFS " ) + " ,谢谢打分')</script> "
' Response.Redirect("fen.asp")
end   if
%
>

 在其它页面嵌套

 

< iframe  src ="fen.asp" ></ iframe >
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值