Не работает скрипт перемещения элементов
Вот сам скрипт:
$('body').click(function (event) { console.log($('[visibility]')); if ($('[visibility]').length == 0){ $(event.target).css({"visibility": "hidden"}); } else { $('[visibility]').insertAfter($(event.target)).css({"visibility": "visible"});} }); тут я кликаю по элементу, если нет никаких скрытых элем. - делаю этот скрытым, если есть скрытый - ставлю его после того куда кликнул. :cray: |
Цитата:
if (!$(':hidden').length){ |
regnised,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> div { width: 100px; height: 100px; float: left; border: #000000 2px solid; } .first { background: #FF0000; } .last{ background: #008000; } </style> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(function(){ $('body').on('click', 'div', function (event) { event.preventDefault(); if (!$('div:hidden').length){ $(this).hide(); } else { $('div:hidden').insertAfter(this).show()} }); }); </script> </head> <body> <div class='first'>1</div> <div class='first'>2</div> <div class='first'>3</div> <div class='last'>4</div> </body> </html> |
Спасибо, немного позже проверю :thanks:
|
Переделал свое вот так:
$('body').click(function (event) { event.preventDefault(); if (!$('div:hidden').length){ $(this).hide(); } else { $('div:hidden').insertAfter(this).show();} });- не работает Может Ваше решение работает потому что есть $(function(){ $(function(){ //тут анонимная функция вызывается $('body').on('click', 'div', function (event) { // тут при событии онклик с боди берем дивы event.preventDefault(); // перехватываем дефаултное событие миши if (!$('div:hidden').length){// если не нашли скрытых дивов - скрываем тот на который кликнули $(this).hide(); } else { $('div:hidden').insertAfter(this).show()} // если есть скрытый див - показываем }); }); вопрос, почему у меня не работает? :) :( |
Цитата:
|
regnised,
$('body').click(function (event) { //есть ли body? к этому моменту или ещё нет event.preventDefault(); if (!$('div:hidden').length){ $(this).hide(); // скрыли body } else { $('div:hidden').insertAfter(this).show();} // если вдруг был скрытый div, попытаемся всунуть его мимо body }); |
вот немного подшаманил с тегом <p> работает
$(document).ready( $('body').on('click', 'p', function (event) { event.preventDefault(); if (!$('p:hidden').length){ $(this).hide(); } else { $('p:hidden').insertAfter(this).show();} })); |
Часовой пояс GMT +3, время: 14:46. |