Jump to content
  • 0

Уезжающий налево див по средствами jq


a1rborn
 Share

Question

Возникла проблема с реализацией следующего:

есть три дива, вертикально расположенных друг за другом. Есть также img (позиционирован абсолютно), он служит "кнопкой" и находиться между(поверх) 2 и 3 дивом.

Хотел сделать так, что бы при нажатии на этот img - див2 уезжал налево и исчезал (типа slideUp, только влево), и одновременно с ним, смещался налево этот самый img на x пикселей, но не исчезал

И при повторном нажатии на Img див2 выезжал направо и img так же направо.

Перепробовал много способов,

вешал click, toggle, animate все всегда по разному получалось.

К примеру, вроде бы (как я думал ;) ), должен был помочь


/*$(document).ready(function(){
$(".io").toggle(
function(){$(".col2").animate({'left':'50'},2000,'swing');},
function(){$(".col2").animate({'right':'50'},2000,'swing');}
);

});*/

или


$(document).ready(function(){
$(".io").click(function(){
$(".colx").animate({'left':'50'},2000,'swing')
}, function(){
$(".colx").animate({'right':'50'},2000,'swing')
});
});

и т.д. Но получается не совсем так как надо, по мимо предложенных мной было еще куча кода, но тщетно.

Понимаю, что не совсем понимаю (извиняюсь) саму структуру построения

Получилось один раз сделать только что бы при нажатии на img див уезжал, но не выезжал обратно.

Направьте на путь истинный дамы и господа, буду премного благодарен! :)

PS Не обязательно решать мою проблему, помогли бы пару советов и разъяснение реализации моей идеи =)

Edited by a1rborn
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Как-то было я заморочилась с подобной проблемой. Реализовывала на чистом js. Только в моем случае все уезжает вниз, а не в сторону.

Посмотреть как работает можно тут. Выезжает через 2 сек. после загрузки страницы. А исходники можно посмотреть вот тут. Только на странице с исходником надо вручную поменять кодировку на юникод.

Link to comment
Share on other sites

  • 0

Да, то что нужно! Буду пробовать у себя, благодарю

Если есть возможность укажите все ли верно понимаю и описываю скрипт=)


$('.btn').on('click', function() { // при клике на бтн вызываем функцию

if (!$(this).data('active')) { // если (устанавливаем значение бтн "актив")
$(this).data('active', true) // бтн имеет значение "актив" (об этом говорит true)
.animate({ // применяем анимейт
'left':0, //налево к 0пкс.
'margin-left': 0 //отступ слева 0пкс.
}, 700); //время 700мс

$('.block').animate({'left': '-100%'}, 700); //и к блоку применить анимейт налево -100%
}
else { //иначе
$(this).data('active', false) //если бтн не имеет значение актив
.animate({ // применяем
'left': '50%', // то то
'margin-left': '-75px' //и то то
}, 700);

$('.block').animate({'left': 0}, 700); //и т.д.
};

});

PS Что означает ! во 2 строке кода?

Edited by a1rborn
Link to comment
Share on other sites

  • 0

Для сохранения состояния используется метод data.

Если при клике в data запись active НЕ true (! - это логическое НЕ).

Значит элементы в своем исходном состоянии.

active переключаем в true и сдвигаем элементы влево.

При следующем клике active будет true. Значит элементы уже сдвинуты.

active переключаем в false и сдвигаем элементы вправо в исходное состояние.

Надеюсь прояснил.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By PShim
      Здравствуйте. Подскажите пожалуйста, что стоит дописать в скрипт чтобы файл сохранялся со стилем(css). Есть свой скрипт и есть взятый из jq(https://www.jqueryscript.net/other/Export-Html-To-Word-Document-With-Images-Using-jQuery-Word-Export-Plugin.html). 
      function Export2Doc(element, filename = ''){ var preHtml = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:word' xmlns='http://www.w3.org/TR/REC-html40'><head><meta charset='utf-8'><title>Export HTML To Doc</title></head><body>"; var postHtml = "</body></html>"; var html = preHtml+document.getElementById(element).innerHTML+postHtml; var blob = new Blob(['\ufeff', html], { type: 'application/msword' }); var url = 'data:application/vnd.ms-word;charset=utf-8,' + encodeURIComponent(html); filename = filename?filename+'.doc':'document.doc'; var downloadLink = document.createElement("a"); document.body.appendChild(downloadLink); if(navigator.msSaveOrOpenBlob ){ navigator.msSaveOrOpenBlob(blob, filename); }else{ downloadLink.href = url; downloadLink.download = filename; downloadLink.click(); } document.body.removeChild(downloadLink); }  
    • By PShim
      Привет всем. Может кто помочь написать кнопку выбора файла, после выбираем html и выгружаем его в секцию другого html
    • By server021
      Добрый день! Подскажите как заменить /index.php?f=asd на /r/asd видел давно скрипт. Но к сожалению потерял
    • By Ge1i0N
      Есть во такой вот код.
      http://jsfiddle.net/kAf3a/3/
      Скрипт раскрывающейся менюшки простой, но был рождён с горем пополам, так как я ничего в этом не смыслю.
      Однако возникла проблема:
      если раскрыть пункт Portfolio, то по ссылке в выпадающем меню можно спокойно нажать и перейти.
      Однако если нажать на не раскрывающийся пункт Albums - перехода не происходит.
      Где я ошибся в коде?
    • By a1rborn
      День добрый)
      У кого есть желание, посмотрите на сайт http://kombinatorika.p.ht/
      Собственно, тема: Известный японский писатель Харуки Мураками.
      Критика приветствуется любого рода, особое внимание уделить верстке и дизайну)
      Сайт еще до конца контентом не наполнен, решил пока есть время выложу сюда, посмотрю что скажут люди, а там и с инфой закончу
      Вдруг какие проблемы будут критические? Лучше раньше исправлю
      Замечания и вопросы
      1. По клику на любой картинке из средней колонки, будет в дальнейшем появляться инфа, пока, повторяюсь, не дописал
      2. Интересует ваше мнение по поводу
      а) Кнопка переключения среднего меню, никак не могу найти или нарисовать подходящую, мб подскажите что нибудь?
      б) Подчеркивание li оставить как есть? или у списка изменить на точечную, а у подсписков на сплошную?
      в) Цвет шрифта и сам шрифт - оставлять как есть, или искать дальше и пробовать? Довольно много времени на это убил...
      г) Скорости разных анимацией - делать быстрее, медленнее?
      Вот собственно и все)
      Спасибо за внимание
      PS Не обращайте внимание на название линка
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy