Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 25.02.2015, 13:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от tk.stas
Как сделать так чтоб позиция сохранялась при закрытии и открытии браузера. То есть дошел до 3 закрыл, и открыл на 3.
Это возможно сделать только в пределах одного компа... Если запустишь на другом - откроет первую или ту, на какой остановились именно на этом компе...
Использовать локальное хранилище или по старинке - куки.
Ответить с цитированием
  #12 (permalink)  
Старый 25.02.2015, 17:32
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 41

Так и надо чтоб на одном компе было.
Подскажите как забить положение в локальное хранилище, и затем считать его. Я просто только начинаю изучать. Пока не могу понять.
Ответить с цитированием
  #13 (permalink)  
Старый 25.02.2015, 19:32
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от tk.stas
как забить положение в локальное хранилище, и затем считать его
Дык!
Ответить с цитированием
  #14 (permalink)  
Старый 05.03.2015, 22:19
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 41

Все никак не получается запомнить позицию в локальное хранилище, и затем открыть ее.
Может кто-нибудь поможет написать такой код на данном примере, а то все никак не получается.

Сообщение от рони Посмотреть сообщение
BFAll,
для версии 1.6
<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>selectable demo</title>
  <script src="http://code.jquery.com/jquery-1.6.js"></script>
  <style>
    p{ display: none; }
    .selected {  display: block;  }
  </style>
  <script>
   $(document).ready(function()
     {
       var p = $("p");
       p.first().addClass("selected");
            $(document).delegate( ".next, .prev", "click", function(event)
         {
           event.preventDefault();
           var selected = $(".selected");
           selected.removeClass("selected");
           if($(this).hasClass("next") ) {
             selected = selected.next('p').size()? selected.next():p.first() ;
           }
           else {
             selected = selected.prev('p').size()? selected.prev():p.last();
           }
           selected.addClass("selected");
         }
       )
     }
   );
  </script>
</head>

<body>
  <a href="" class="prev">prev</a> <a href="" class="next">next</a>
  <p>1</p><p>2</p><p>3</p>
</body>
</html>
Ответить с цитированием
  #15 (permalink)  
Старый 05.03.2015, 22:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

tk.stas,

<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>selectable demo</title>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <style>
    p{ display: none; }
    .selected {  display: block;  }
  </style>
  <script>
   $(document).ready(function()
     {
       var p = $("p"), i = localStorage.getItem("indx")||0;
       p.eq(i).addClass("selected");
            $(document).on("click", ".next, .prev",  function(event)
         {
           event.preventDefault();
           var selected = $(".selected");
           selected.removeClass("selected");
           if($(this).hasClass("next") ) {
             selected = selected.next('p').size()? selected.next():p.first() ;
           }
           else {
             selected = selected.prev('p').size()? selected.prev():p.last();
           }
           selected.addClass("selected");
           i = p.index(selected);
           localStorage.setItem("indx", i);
         }
       )
     }
   );
  </script>
</head>

<body>
  <a href="" class="prev">prev</a> <a href="" class="next">next</a>
  <p>1</p><p>2</p><p>3</p>
</body>
</html>
Ответить с цитированием
  #16 (permalink)  
Старый 16.08.2015, 21:02
Новичок на форуме
Отправить личное сообщение для Sasha2000 Посмотреть профиль Найти все сообщения от Sasha2000
 
Регистрация: 16.08.2015
Сообщений: 1

А на чистом js данный скрипт не поможите сделать?

Сообщение от рони Посмотреть сообщение
tk.stas,

<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>selectable demo</title>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <style>
    p{ display: none; }
    .selected {  display: block;  }
  </style>
  <script>
   $(document).ready(function()
     {
       var p = $("p"), i = localStorage.getItem("indx")||0;
       p.eq(i).addClass("selected");
            $(document).on("click", ".next, .prev",  function(event)
         {
           event.preventDefault();
           var selected = $(".selected");
           selected.removeClass("selected");
           if($(this).hasClass("next") ) {
             selected = selected.next('p').size()? selected.next():p.first() ;
           }
           else {
             selected = selected.prev('p').size()? selected.prev():p.last();
           }
           selected.addClass("selected");
           i = p.index(selected);
           localStorage.setItem("indx", i);
         }
       )
     }
   );
  </script>
</head>

<body>
  <a href="" class="prev">prev</a> <a href="" class="next">next</a>
  <p>1</p><p>2</p><p>3</p>
</body>
</html>
Ответить с цитированием
  #17 (permalink)  
Старый 16.08.2015, 21:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Sasha2000,
а сами начать код?
Ответить с цитированием
  #18 (permalink)  
Старый 16.08.2015, 22:23
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

Сообщение от Sasha2000
А на чистом js данный скрипт не поможите сделать?
пройдёмся по коду, что надо заменить:
1) addClass, removeClass и hasClass заменяются соответственно на classList.add, classList.remove и classList.contains
Подробнее про classList тут:
https://developer.mozilla.org/ru/doc...ment/classList
2)$ можно заменить на document.querySelectorAll или на document.querySelector (если в дальнейшем на то, что мы выбираем селектором, пытаются повесить обработчик события)
$(document).ready(function(){
//code
}

можно заменить на window.onload = function(){
//code
}

3) p.eq(i) можно заменить на p[i]
4)$(document).on("click", ".next, .prev", function(event){//code});
очень условно можно заменить на document.querySelector('.next, .prev').addEventListener('click', function(event){//code}, false);
5)$(this) можно заменить на event.target
ну и т.д. в общем то по каждой функции идёте на:
https://api.jquery.com
и изучаете, что она делает и ищете в учебнике как можно это сделать на нативном JS
А вообще проще в теге head прописать:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>

и не думать больше в дальнейшем как переписать с JQuery на JS
Ответить с цитированием
  #19 (permalink)  
Старый 25.08.2015, 12:08
Аспирант
Отправить личное сообщение для tk.stas Посмотреть профиль Найти все сообщения от tk.stas
 
Регистрация: 25.02.2015
Сообщений: 41

Я использую данный скрипт в приложении на андройд, и почему-то именно в версии 4.3 происходит вылет при нажатии кнопок листания.

Получается не ахти. Зависаю уже на p[i], а что делать с

if(event.target.classList.contains("next") ) {
             selected = selected.next('p').size()? selected.next():p.first() ;
           }
           else {
             selected = selected.prev('p').size()? selected.prev():p.last();
           }


вообще не пойму.

<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>selectable demo</title>
  <style>
    p{ display: none; }
    .selected {  display: block;  }
  </style>
  <script>
   window.onload = function(){
       var p = document.querySelector("p"), i = localStorage.getItem("indx");
        p[i].classList.add("selected");
     document.querySelector('.next, .prev').addEventListener('click', function(event){
       event.preventDefault();
           var selected = document.querySelector(".selected");
           selected.classList.remove("selected");
           if(event.target.classList.contains("next") ) {
             selected = selected.next('p').size()? selected.next():p.first() ;
           }
           else {
             selected = selected.prev('p').size()? selected.prev():p.last();
           }
           selected.classList.add("selected");
           i = p.index(selected);
           localStorage.setItem("indx", i);
     }, false);
}
  </script>
</head>

<body>
  <a href="" class="prev">prev</a> <a href="" class="next">next</a>
  <p>1</p><p>2</p><p>3</p>
</body>
</html>


Буду благодарен за помощь
Ответить с цитированием
  #20 (permalink)  
Старый 25.08.2015, 13:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

tk.stas,
<!DOCTYPE html>

<html lang="en">
<head>
  <meta charset="utf-8">
  <title>selectable demo</title>
  <style>
    p{ display: none; }
    .selected {  display: block;  }
  </style>
  <script>
   window.onload = function(){
       var p = document.querySelectorAll("p"), i = +localStorage.getItem("indx")||0;
        p[i].classList.add("selected");
     document.querySelector('.next').addEventListener('click', function(event){
          event.preventDefault();
            p[i].classList.remove("selected");
            i = ++i%p.length;
            p[i].classList.add("selected");
            localStorage.setItem("indx", i);
     }, false);
     document.querySelector('.prev').addEventListener('click', function(event){
          event.preventDefault();
            p[i].classList.remove("selected");
            i--;
            i < 0 && (i = p.length-1);
             p[i].classList.add("selected");
            localStorage.setItem("indx", i);
     }, false);
}
  </script>
</head>

<body>
  <a href="" class="prev">prev</a> <a href="" class="next">next</a>
  <p>1</p><p>2</p><p>3</p>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод выделенного текста в форме другого окна Mrjoey Events/DOM/Window 10 22.06.2011 22:31
цвет кнопки, цвет текста на кнопке, всплывающее окно matana Общие вопросы Javascript 8 26.05.2009 17:08
Кнопки форматирования текста Thunder Общие вопросы Javascript 5 09.03.2009 16:07
Имитация нажатия кнопки мыши Mantell Общие вопросы Javascript 3 19.02.2009 17:03
заполнения и имитация нажатия кнопки Gilman Общие вопросы Javascript 7 06.01.2009 21:28