Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2017, 20:18
Новичок на форуме
Отправить личное сообщение для neitherknows Посмотреть профиль Найти все сообщения от neitherknows
 
Регистрация: 02.03.2017
Сообщений: 3

class для mouseover
Здравствуйте. Нашел тут на форуме схожие темы с решениями, но адаптация под свои нужны не дала плодов.

<table id="02" width="500" height="100">
<tr>
<td>
<img src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td>
<img src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td class="select1">
<img src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td class="select">
<img src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td>
<img class="select1" src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td>
<img class="select1" src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td>
<img class="select"src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td>
<img class="select" src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td>
<img src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td class="select">
<img src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
</table>

$('.select').each(function() {
  $( this )
  .on( "mouseover", function() {
    $( '.select' )
    .css( 'opacity', '.2' )
    .css( 'background-color', 'red' )
    });
  $( this )
  .on( "mouseout", function() {
    $( '.select' )
    .css( 'opacity', '' )
    .css( 'background-color', '' )
    });
  return;
});

$('.select1').each(function() {
  $( this )
  .on( "mouseover", function() {
    $( '.select1' )
    .css( 'opacity', '.2' )
    .css( 'background-color', 'red' )
    });
  $( this )
  .on( "mouseout", function() {
    $( '.select1' )
    .css( 'opacity', '' )
    .css( 'background-color', '' )
    });
  return;
});


Какие есть варианты оптимизации скрипта, чтобы не нужно было для каждой группы элементов прописывать новую переменную?
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2017, 20:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

neitherknows,
что должен делать скрипт? где описание?
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2017, 23:06
Новичок на форуме
Отправить личное сообщение для neitherknows Посмотреть профиль Найти все сообщения от neitherknows
 
Регистрация: 02.03.2017
Сообщений: 3

Сообщение от рони Посмотреть сообщение
neitherknows,
что должен делать скрипт? где описание?
При наведении курсора мыши на один из элементов таблицы,все элементы с таким же классом, должны выделится (пример как это работает сейчас вложил).

Что можно сделать, что бы не прописывать в скрипте каждый новый класс вручную (select0,select1,select2,...)?
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2017, 23:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

neitherknows,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
$('table td[class], table img[class]').each(function() {
  $(this)
  .on( "mouseenter", function() {
    $( "."+this.className )
    .css( 'opacity', '.2' )
    .css( 'background-color', 'red' )
    })
  .on( "mouseleave", function() {
    $("."+this.className )
    .css( 'opacity', '' )
    .css( 'background-color', '' )
    });

});

});
  </script>
</head>

<body>
<table id="02" width="500" height="100">
<tr>
<td>
<img src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td>
<img src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td class="select1">
<img src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td class="select">
<img src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td>
<img class="select1" src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td>
<img class="select1" src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td>
<img class="select"src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td>
<img class="select" src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
<tr>
<td>
<img src="http://javascript.ru/forum/images/smilies/smile.gif"></td>
<td class="select">
<img src="http://javascript.ru/forum/images/smilies/sad.gif"></td>
</tr>
</table>


</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2017, 06:37
Новичок на форуме
Отправить личное сообщение для neitherknows Посмотреть профиль Найти все сообщения от neitherknows
 
Регистрация: 02.03.2017
Сообщений: 3

рони,
спасибо. А как ограничить список классов, для выделения только select*(1,2,3..), игнорируя другие классы (для примера noclick)?

разобрался, ещё раз спасибо.
$(function() {
$("table img[class ^= 'select']").each(function() {
  $(this)
  .on( "mouseenter", function() {
    $( "."+this.className )
      .css({
        "opacity": ".2",
        "background-color": "#c0c0c0"
      });
    })
  .on( "mouseleave", function() {
    $("."+this.className )
      .css({
        "opacity": "",
        "background-color": ""
      });
    });
  });
});

Последний раз редактировалось neitherknows, 03.03.2017 в 07:45.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как подключить class к window.location для открытия ссылки в popup окне? Sergey771 Общие вопросы Javascript 0 19.11.2016 12:34
Скрипт корзины для сайта EasyNetShop.ru Ваши сайты и скрипты 0 17.11.2016 14:57
Событие mouseover для всех тегов с одинаковым id Alexew jQuery 4 24.08.2014 14:56
виджет, только сторона клиента (JS, JQUery, работа с датами, масштабирование) eugen35 Работа 4 31.07.2014 09:50
добавление стилей для множества элементов ??? Общие вопросы Javascript 7 14.06.2012 01:50