2011-12-11 53 views
0

我使用slidetoggle打開和關閉div,使用jQuery緩動。永久隱藏/顯示一個塊

<script> 
function toggleText() { 
$('#divToToggle').slideToggle("slow"); 
if ($('#divToToggle').css('display') == 'none') { 
     $('#aTag').html('Show'); 
} 
else { 
     $('#aTag').html('Hide'); 
} 
} 
</script> 
<a id="aTag" href="javascript:toggleText();"> 
    Hide 
</a> 

它控制的DIV是<div id="divToToggle"></div>

問題我已經是的onclick文心不是改變,從顯示隱藏,反之亦然。我必須失去了一些東西很簡單..

開溜也意味着要問,我怎麼阿塔赫一個cookie事件

回答

1

試試這個。這將工作

<script> 
    function toggleText() { 
      $('#divToToggle').slideToggle("slow", function(){ 
      if ($('#divToToggle').css('display') == 'none') { 
       $('#aTag').html('Show'); 
      } 
      else 
      { 
       $('#aTag').html('Hide'); 
      }  
     });  
    } 
</script> 
<a id="aTag" href="javascript:toggleText();"> 
     Hide 
</a> 

編輯: 下面是關於如何設置和刪除一個cookie的簡單功能 - src -

function setCookie(name,value,days) { 
     if (days) { 
      var date = new Date(); 
      date.setTime(date.getTime()+(days*24*60*60*1000)); 
      var expires = "; expires="+date.toGMTString(); 
     } 
     else var expires = ""; 
     document.cookie = name+"="+value+expires+"; path=/"; 
    } 

    function getCookie(name) { 
     var nameEQ = name + "="; 
     var ca = document.cookie.split(';'); 
     for(var i=0;i < ca.length;i++) { 
      var c = ca[i]; 
      while (c.charAt(0)==' ') c = c.substring(1,c.length); 
      if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); 
     } 
     return null; 
    } 

    function deleteCookie(name) { 
     setCookie(name,"",-1); 
    } 

    function toggleText() { 
       $('#divToToggle').slideToggle("slow", function(){ 
       if ($('#divToToggle').css('display') == 'none') { 
        $('#aTag').html('Show'); 
         deleteCookie('hiddendiv') 

       } 
       else 
       { 
        $('#aTag').html('Hide'); 
        setCookie('hiddendiv',1,MENTOINYOURTIMEHERE) 
       }  
      });  
     } 

    $('aTag').click('toggleText'); 
    if(getCookie('hiddendiv')) 
    { 
    $('#divToToggle').hide(); 
    } 

<a id="aTag" href="javascript:toggleText();"> 
     Hide 
</a> 
<div id ="divToToggle"></div> 
+0

謝謝,只是cookie問題現在 – 422

+0

你的意思是你想設置和刪除一個cookie – aWebDeveloper

+0

嗨@Web Developer如果用戶隱藏的div,然後刷新需要記住div狀態,使用cookie。所以每次打開/關閉div都不會打開。最近我發現是:但我不明白它http://stackoverflow.com/questions/1982233/jquery-toggle-cookie-support – 422

1

住在JSFiffle http://jsfiddle.net/T7vFf/

<script> 
function toggleText() { 
    $('#divToToggle').slideToggle("300", function() { 
     if ($(this).is(":visible")) { 
      $('#aTag').html('Hide'); 
     } else { 
      $('#aTag').html('Show'); 
     } 
    }); 
} 
</script> 

<a id="aTag" href="javascript:toggleText();"> 
    Hide 
</a> 
<div id="divToToggle">Div To Toggle</div> 
+0

任何想法如何安裝餅乾嗎? – 422

+1

使用jQuery cookie插件。 http://www.electrictoolbox.com/jquery-cookies/ 每當div被隱藏或顯示時設置cookie,並檢查$(document).ready(..)上的cookie值,然後稍微修改toggleText以使divToToggle可見或隱藏。 – Mahbub

+0

謝謝@Mahbub儘管我做前端,我不做JavaScript等。我可以通過。謝謝,將有一個看起來 – 422