為什麼我這個分頁變不了顏色呢?

來源:互聯網
上載者:User
這個分頁函數輸出頁碼

for($i=$start;$i<=$end;$i++){        echo '
  • '.($i).'
  • '; }

    這個js代碼用來改變顏色  點擊哪個哪個就變成紅色  同時其它的變成原來的顏色     可是為什麼我每次點擊是只有點擊的一瞬間變成紅色呢 然後就又變成了原來的顏色   這個js代碼沒有問題  我把js代碼單獨拿出去測試沒有問題 可以變色同時其它的變成原來的顏色    可是為什麼在這裡卻不行呢 只有點擊的一瞬間變成紅色  這是為什嗎?是不是因為發生了跳轉所以變了一下色又馬上變回去了?到底是為什嗎?

    var topMenus = getClass('a','pages');       for(var i=0;i < topMenus.length; i++)       {          topMenus[i].onclick=function(){          for(var i=0;i < topMenus.length; i++){            topMenus[i].style.backgroundColor="#858585"          }            this.style.backgroundColor="red";           }       }      function getClass(tagName,className) {    if(document.getElementsByClassName)     {        return document.getElementsByClassName(className);    }    else    {       var tags=document.getElementsByTagName(tagName);        var tagArr=[];        for(var i=0;i < tags.length; i++)        {            if(tags[i].class == className)            {                tagArr[tagArr.length] = tags[i];            }        }        return tagArr;    }

    回複內容:

    這個分頁函數輸出頁碼

    for($i=$start;$i<=$end;$i++){        echo '
  • '.($i).'
  • '; }

    這個js代碼用來改變顏色  點擊哪個哪個就變成紅色  同時其它的變成原來的顏色     可是為什麼我每次點擊是只有點擊的一瞬間變成紅色呢 然後就又變成了原來的顏色   這個js代碼沒有問題  我把js代碼單獨拿出去測試沒有問題 可以變色同時其它的變成原來的顏色    可是為什麼在這裡卻不行呢 只有點擊的一瞬間變成紅色  這是為什嗎?是不是因為發生了跳轉所以變了一下色又馬上變回去了?到底是為什嗎?

    var topMenus = getClass('a','pages');       for(var i=0;i < topMenus.length; i++)       {          topMenus[i].onclick=function(){          for(var i=0;i < topMenus.length; i++){            topMenus[i].style.backgroundColor="#858585"          }            this.style.backgroundColor="red";           }       }      function getClass(tagName,className) {    if(document.getElementsByClassName)     {        return document.getElementsByClassName(className);    }    else    {       var tags=document.getElementsByTagName(tagName);        var tagArr=[];        for(var i=0;i < tags.length; i++)        {            if(tags[i].class == className)            {                tagArr[tagArr.length] = tags[i];            }        }        return tagArr;    }

    沒錯,就是因為跳轉,你的每個分頁按鈕都會讓你跳轉到,而跳轉就意味著你整個頁面會重載一次,樣式、javascript 都會重新讀取。

    所以你得轉換思路:既然跳轉不能保留上一個網頁的效果,那我該如何知道當前是哪一個頁面?

    看你代碼是 phpHTML 混合,所以可以用 php 判定現在頁面的方式來決定哪個分頁按鈕為紅色

    關於利用 php 輸入 html ,有個方式更好:

        
  • ">
  • =

    那假設現在有一個變量代表著當前頁: $currentPage

    我們就可以用一個簡單的判斷式來為符合得分頁按鈕加上紅色背景

        
  • ;display:inline-block;width:100%;height:100%;" href="">
  • 重點在這裡:

    background:

    如果當前頁和分頁按鈕的頁數一致,就返回 red , 不符合就返回 grey

    補充評論

    看起來你是要用一個函數來處理分頁,那就是:

    // 這邊我不太清楚 $num 是什麼function fenye($start, $end, $num, $current) {    $html = '
      
      '; for( $i = $start ; $i <= $end ; $i++) { $background = $i === $current ? 'red' : 'grey'; $html.= '
    • '; $html.= "$i"; $html.= '
    • '; } $html.= '
    '; echo $html;}

    這樣你在需要輸出分頁內容的地方插入 fenye(...)

        

    有沒有試過在css中定義,當前啟用的分頁按鈕的樣式和普通分頁按鈕的樣式呢

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.