2011-11-23 90 views
3

我正在開發asp.net中的新聞網站,並且我想讓新聞欄從右向左移動新聞欄,我已經使用了選取框標記,但問題是我想要它重複其內容沒有任何刺戳,因爲它完成,然後從頭開始,我希望它是不斷地重複繼續在asp.net中選擇字幕

任何幫助,請

由於提前

回答

0

我相信這個網站有實現,滿足您的要求http://www.givainc.com/labs/marquee_example.htm

SO link

+0

其實也沒什麼,這個例子我的幫助,你知道我想要什麼,http://javascript.about.com/library /blcmarquee1.htm,但這是爲圖像,也沒有連接到數據庫它是靜態的 –

4

如果必須再滾動字幕功能,請嘗試使用jQuery插件如simplyScroll v1支持連續滾動(即它無縫環繞)。但是請注意,該帳篷被認爲是壞的以同樣的方式老<blink>標籤是易用性和可訪問性 - 見http://en.wikipedia.org/wiki/Marquee_element#Usability_problems

+0

好吧,它不是必須使用選取框,如果你知道任何可以做同樣功能的asp.net控件,它將是偉大的 –

2


我相信這將幫助你:

<script type="text/javascript" language="javascript"> 
    function objWidth(obj) { 
     if (obj.offsetWidth) return obj.offsetWidth; 
     if (obj.clip) return obj.clip.width; 
     return 0; 
    } 
    var mqr = []; 

    function mq(id) { 
     this.mqo = document.getElementById(id); 
     var wid = objWidth(this.mqo.getElementsByTagName('span')[0]) + 5; 
     var fulwid = objWidth(this.mqo); 
     var txt = this.mqo.getElementsByTagName('span')[0].innerHTML; 
     this.mqo.innerHTML = ''; 
     var heit = this.mqo.style.height; 
     this.mqo.onmouseout = function() { 
      mqRotate(mqr); 
     }; 
     this.mqo.onmouseover = function() { 
      clearTimeout(mqr[0].TO); 
     }; 
     this.mqo.ary = []; 
     var maxw = Math.ceil(fulwid/wid) + 1; 
     for (var i = 0; i < maxw; i++) { 
      this.mqo.ary[i] = document.createElement('div'); 
      this.mqo.ary[i].innerHTML = txt; 
      this.mqo.ary[i].style.position = 'absolute'; 
      this.mqo.ary[i].style.left = (wid * i) + 'px'; 
      this.mqo.ary[i].style.width = wid + 'px'; 
      this.mqo.ary[i].style.height = heit; 
      this.mqo.appendChild(this.mqo.ary[i]); 
     } 
     mqr.push(this.mqo); 
    } 

    function mqRotate(mqr) { 
     if (!mqr) return; 
     for (var j = mqr.length - 1; j > -1; j--) { 
      maxa = mqr[j].ary.length; 
      for (var i = 0; i < maxa; i++) { 
       var x = mqr[j].ary[i].style; 
       x.left = (parseInt(x.left, 10) - 1) + 'px'; 
      } 
      var y = mqr[j].ary[0].style; 
      if (parseInt(y.left, 10) + parseInt(y.width, 10) < 0) { 
       var z = mqr[j].ary.shift(); 
       z.style.left = (parseInt(z.style.left) + parseInt(z.style.width) * maxa) + 'px'; 
       mqr[j].ary.push(z); 
      } 
     } 
     mqr[0].TO = setTimeout('mqRotate(mqr)', 10); 
    } 
</script> 

<script type="text/javascript"> 
    function start() { 
     new mq('m1'); 
     mqRotate(mqr); 
    } 

    window.onload = start; 
</script> 

<div id="m1" class="marquee"> 
    <span>Example for Continous Text</span> 
</div>