Помогите решить вопрос
Доброго времени суток.
Проблема заключается в следующем. У нас есть вот такая страница с элементами: ![]() По клику на один из этих элементов ему присваивается класс, но при клике на другой у первого этот класс удаляется и присваивается тому на который кликнули, и т.д. Т.е. класс должен по клику на какой либо элемент удаляться у того элемента которому присвоен, и добавляться элементу на который кликнули. Заранее спасибо! |
<style> #myblock>div { width:30%; height: 50px; border: 2px solid #000; margin: 5px; display: inline-block; } .active { background-color: red; } </style> </head> <body> <div id="myblock"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> <script> var el, target; myblock.onclick = function (e) { e = e || window.event; target = e.target || e.srcElement; if (target.id =="myblock") return; el && (el.className = ''); target.className = 'active'; el = target; } </script> </body> |
Poznakomlus,
спасибо большое, а нет решения на JQuery? |
<head> <style> #myblock>div { width:30%; height: 50px; border: 2px solid #000; margin: 5px; display: inline-block; } .active { background-color: red; } </style> <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script> </head> <body> <div id="myblock"> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> <div></div> </div> <script> jQuery(function($){ $('#myblock').on('click', 'div', function () { $(this).addClass('active').siblings().removeClass('active'); }); }); </script> </body> |
Poznakomlus, еще раз огромное спасибо. А можно ли как нибудь сделать что бы класс еще удалялся по клику на сторонний элемент, а к примеру на ссылку с классом .close
|
|
Poznakomlus, оно самое! Огромное спасибо!
Только кнопка находится в каждом из этих дивов, при нажатии на неё у дива удаляется класс вот так http://learn.javascript.ru/play/sQQnxb |
up
|
Peter007, отмените всплытие из $('div .close')
event.stopPropagation() |
|
Часовой пояс GMT +3, время: 23:22. |