За последние 24 часа нас посетили 19105 программистов и 1639 роботов. Сейчас ищут 1576 программистов ...

запомнить положение

Тема в разделе "JavaScript и AJAX", создана пользователем hust0, 3 сен 2016.

  1. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Очень нужна помощь в js, есть сам небольшой код который подгружает картинки с базы данных, а именно нажимая кнопку "Открыть еще" . Если обновить страничку то скрипт выполняет его заного, хотелось бы чтобы сохранял позицию скролла... Может посмотрите код?

    Код (Javascript):
    1. $(function dgert() {
    2.  
    3. $('.more_buttonaa').live("click",function()
    4. {
    5.     var that = $(this);
    6.  
    7. var getId = $(this).attr("id");
    8. var cat = $.trim($('#cata').val());
    9.  
    10. if(getId)
    11. {
    12. $("#load_moreaa_"+getId).html('<img style="position:relative;left:45%;" src="/images/loading.gif"></img>');
    13.  
    14. $.ajax({
    15. type: "POST",
    16. url: "/fetch_pages.php",
    17. data:{getLastContentId:getId,category:cat},
    18. success: function(html){
    19.    
    20. $("div#load_moreaa_ctnt").append(html);
    21. $("#load_moreaa_"+getId).remove();
    22.  
    23.     that.focus();
    24. }
    25.  
    26.  
    27. });
    28. }
    29. else
    30. {
    31. $(".more_tabaa").html('The End');
    32. }
    33.     that.focus();
    34. return false;
    35.  
    36. });
    37.  
    38. });
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    капец а не форум, два сообщения показывает что профлудил... удалил одно, удалил и другое... :eek:
    --- Добавлено ---
    буду короток..
    Код (Javascript):
    1. $(function dgert() {
    2. $('.more_buttonaa').live("click",function()
    3. {
    замени на:
    Код (Javascript):
    1. $(function()
    2. {
    3.     $( 'body' ).on( 'click', '.more_buttonaa', function(e)
    4.     {
    5. e.preventDefault();
    live - устаревшая функция

    клик тег какой будет? нид
    <a class="more_buttonaa" href="тут телепатически сидит решетка, дальше идет онКлик. Поменять нужно... избавляемся от клико в html">Открыть еще</a>
     
  3. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    не работает, когда нажимаю то отбрасывает в самый верх сайта
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    потому что до конца читать не умеем..
     
  5. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    извините, не совсем понял "тут телепатически сидит решетка, дальше идет онКлик. Поменять нужно... избавляемся от клико в html"...что вы имели ввиду?
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    клик тег какой будет?
    напиши сюда тег который вызывает js функцию твою
     
  7. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    HTML:
    1. <div class="more_div"><a href="#"><div id="load_moreaa_<?php echo $idz; ?>" class="more_taba">
    2. <div class="more_buttonaa" id="<?php echo $idz; ?>">Показать больше</div></a></div>
    3. </div>
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    мин..
     
    hust0 нравится это.
  9. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    HTML:
    1. <div class="more_div"><a id="view_plus" data-id="<?= $idz; ?>" href="/fetch_pages.php?getLastContentId=<?= $idz; ?>&category=______Где_это $.trim($('#cata').val())____?______"><div id="load_moreaa_<?= $idz; ?>" class="more_taba">
    2. <div class="more_buttonaa" id="<?= $idz; ?>">Показать больше</div></a></div>
    3. </div>

    Код (Javascript):
    1. $(function()
    2. {
    3.     $( 'body' ).on( 'click', '.more_buttonaa', function(e)
    4.     {
    5.         e.preventDefault();
    6.        
    7.         var click = $( this );
    8.         var url = click.attr( 'href' );
    9.         var link = url.split( '?' );
    10.        
    11.         $( '#load_moreaa_' + click.attr( 'data-id' ) ).html( '<img style="position:relative;left:45%;" src="/images/loading.gif"></img>' );
    12.        
    13.         $.ajax(
    14.         {
    15.             type: 'POST',
    16.             url: link[0],
    17.             data: link[1]
    18.         }).done( function( res )
    19.         {
    20.             // тут дальнейшие действия res результат
    21.         });
    22.        
    23.     });
    24. });
     
  10. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Что то не не получается, category= тут $_GET параметр ну или значение из базы
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    твой скрипт выдирает значение из html $('#cata').val()
    и добавляет в category: cat
     
  12. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    да он постом передает в файл fetch_pages.php, чтобы в нем кое какие значение выбирало по category - точнее select * from where category=''....'
     
  13. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    + у браузера вруби панель F12 вкладка - консоль если не ошибаюсь. Каждый раз когда кликаешь, там отображается что за чудо после сотворяются или ошибки...
    --- Добавлено ---
    как получить переменную или значение которое добавляет в тег <тег id="cata">значение</тег> ?
     
  14. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    куда там дальше смотреть?
     
  15. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    в скрипте
    // тут дальнейшие действия res результат
    замени на
    alert( res );

    посмотри что показывает?
     
  16. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Код (Text):
    1. moremore.js:3 Uncaught TypeError: $(...).on is not a function(anonymous function) @ moremore.js:3(anonymous function) @ jquery-1.3.2.min.js:19each @ jquery-1.3.2.min.js:12ready @ jquery-1.3.2.min.js:19(anonymous function)
     
  17. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    jquery-1.3.2.min.js :eek:

    JОбновить

    а лучше с офф источников чтоб сомнений не было
     
  18. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    а сделать с query-1.3.2.min.js можно как то?
     
  19. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    дык у тебя версия мин and старая + в ошибке пишет что не распознает функцию $( 'body' ).on
     
  20. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    тьфую точно, подключил его, но все равно тоже самое выдает..
    --- Добавлено ---
    Код (Text):
    1. moremore.js:9 Uncaught TypeError: Cannot read property 'split' of undefined
     
  21. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    аа бесит :eek::D
    у тебя есть скайп ? с письменным объяснением туго
    в лс
     
    denis01 нравится это.
  22. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    отправил в лс
     
  23. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    Нашел более простой вариант. Получается из базы подгружаются все картинки, js код выводит только 16 и если нажимать кнопку под ID loadMore, То будут открываться еще 8 штук. Как сделать чтобы сохранял позицию скролла, а то после обновлений страницы сбрасывается...

    Код (Javascript):
    1. $(document).ready(function () {
    2.     size_li = $("#myList li").size();
    3.     x=16;
    4.     $('#myList li:lt('+x+')').show();
    5.    
    6.    
    7.     $('#loadMore').click(function () {
    8.         x= (x+8 <= size_li) ? x+8 : size_li;
    9.         $('#myList li:lt('+x+')').show();
    10.      
    11.    
    12.     });
    13.  
    14. });
    Код (Text):
    1.     <ul id="myList"><?
    2. while($rows=mysql_fetch_array($result)){
    3. ?>
    4. <li>тут выводятся картинки</li>
    5. <?}?>
    6. </ul>
    7.  
    8. <div id="loadMore"><p><b>Показать еще</b></p></div>
     
  24. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.799
    Симпатии:
    1.331
    Адрес:
    Лень
    хз ты стер мой код и поверх написал снова это + кликов не вижу <a>
     
  25. hust0

    hust0 Активный пользователь

    С нами с:
    6 июл 2013
    Сообщения:
    321
    Симпатии:
    8
    ну я убрал ajax, и клик идет по id