Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Стол заказов » JavaScript дописать код

JavaScript дописать код


 prewed    17.03.2014    Стол заказов    2134    3 комментария

есть люди, знающие javascript? В приведённом ниже коде нужно прописать, чтоб при первой загрузке страницы, блок не показывался вообще, а вот при второй загрузке и последующих загрузках, чтоб код выводился скриптом в обычном своём режиме. пример работы скрипта http://natural-medicine.ru/7784-tykvennyy-sup-s-greckimi-orehami.html - там слева и справа есть эти самые блоки с красным крестиком.

<div class="box" id="adsbox2">
<div class="close" id="adsboxs2">x</div>
<div style="text-align: center;" id="DIV_DA_113425"></div>
</div>
<script type="text/javascript">
  $(document).ready(function (){
  var adsbox2 = $.cookie('adsbox2')//Получаем значение куки
  if(adsbox2 =='none'){//Делаем проверку
  $('#adsbox2').remove();//И закрываем блок если куки есть
  }
  $('#adsboxs2').click(function() {//При клике на id кнопки закрытия
  $('#adsbox2').slideUp(1000);//Закрываем сам id блока
  $.cookie('adsbox2', 'none', { expires: 1});//И создаём куку
  });
  });
  </script>



кто сможет сделать за 20 баксов?

3 комментария

Maxic
Юзер

Maxic - 17 марта 2014 19:47 -

Через cookie. Проверять куку при работе скрипта, если пусто - не отображать блок, установить куку. Пишите в скайп, maxic_unrelax

D0Gmatist
Юзер

D0Gmatist - 17 марта 2014 23:08 -

Держи
HTML
<div class="hideWrap"> 
    <a class="hideBtn">
        Категории раздела
    </a>
    <div class="hideCont">bla bla</div>
</div>

JS
function setCookie(a, b, c) {
    if (c) {
        var d = new Date();
        d.setTime(d.getTime() + (c * 24 * 60 * 60 * 1000));
        var e = "; expires=" + d.toGMTString()
    } else var e = "";
    document.cookie = a + "=" + b + e + "; path=/"
}
function getCookie(a) {
    var b = a + "=";
    var d = document.cookie.split(';');
    for (var i = 0; i < d.length; i++) {
        var c = d[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(b) == 0) return c.substring(b.length, c.length)
    }
    return null
}
function delCookie(a) {
    setCookie(a, "", -1)
}


$('div.hideWrap a.hideBtn').each(function(i) {
    var cookie = getCookie('hideBtn' + i);
    if (cookie && cookie.indexOf('close') != -1) {
        $(this).toggleClass('close').parents('div.hideWrap').find('div.hideCont').hide('normal'); // slow / normal / fast
    };
});
$('div.hideWrap a.hideBtn').click(function() {
    $(this).toggleClass('close').parents('div.hideWrap').find('div.hideCont').slideToggle('normal'); // slow / normal / fast
    var hideBtn = $('div.hideWrap a.hideBtn').index($(this)),
        isShow = $(this).attr('class');
    setCookie('hideBtn' + hideBtn, isShow, 365);
    return false;
});


css
.hideWrap{
    text-align:center;
    clear:both;
}  
a.hideBtn{
    display:block;
    background: #DFDFDF;
    cursor:pointer;
    outline:none;
    text-decoration:none;
}  
a.hideBtn.close{
    background: #C7C7C7;
}


Отблагодарить можно на счёт в профиле

prewed
Юзер

prewed - 23 марта 2014 19:22 -

при этом если закрыть блок на второй и последующих страницах, он закроется и не будет появляться на других страницах в течении 24 часов? потому что приведённый мною блок, который требуется дописать, работает именно таким образом.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте
наверх