Подсветка строки при переходе по якорю
Доброго времени суток.
http://www.megavend.ru/catalog/catal...atelei/#0V3710 вот есть страница. На ней нажимаешь по цифре - с помощью якоря показывается нужный товар. Но не могу понять, с какой стороны подойти, чтобы нужная строка подсвечивалась при клике на якорь. Прошу помощи! |
Alexbelkevich,
$(function(){ var hash = window.location.hash; hash && $(hash).find('td').css({'background-color': '#FF00FF'}) }) |
Не работает :(
|
Alexbelkevich,
и в какое место вы поставили код? |
В хеде подключил.
Я JS только начинаю учить, базовые элементы прохожу. С DOM еще не работал, поэтому для меня пока это все дело темный лес |
Alexbelkevich,
не смог обнаружить ... может строку подскажите? |
Точнее работает, но не так.. Автоматически первую строку подсвечивает.
вот тут для теста сделал http://hellofrontend.ru/test2 |
Alexbelkevich,
скрипт посвечивает ту строку с которой совпадает hash при загрузке страницы. более ничем помочь не могу. |
Так мне надо при клике на якорь подсвечивать нужную строку. Задачи совершенно другая нужна.. Зачем мне хэш то...
|
Alexbelkevich,
не грусти ... попробуй так :write: $(function() { function b(a) { $(".all-table td").css({ "background-color": "" }); $(a).find("td").css({ "background-color": "#FF00FF" }) } $(".hs-wrap a").click(function() { var a = $(this).attr("href"); a && b(a) }); var c = window.location.hash; c && b(c) }); |
Спасибо большое! Теперь все получилось!)))
Не грущу, мне никто ничем не обязан)) :victory: |
Проблема с подсветкой якоря ссылки
Доброго времени суток! Подскажите пожалуйста как установить подсветку якоря в данном коде?
jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 1000); return false; }); }); CSS: .active_hover{ background: #0033FF; } |
Александр83,
$(function(){ var hash = window.location.hash; hash && $(hash).addClass("active_hover") }) Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
<style>
.glav{ display: block; } #<?php echo $block_hover; ?>:hover{ color: #fff; text-decoration: none; background: #0033FF; display: block; font-size: 13px; cursor: pointer; position: relative; border: 1px solid #0033FF; } a.<?php echo $block_hover; ?>:hover{ color: #fff; text-decoration: none; background: #0033FF; display: block; font-size: 13px; cursor: pointer; position: relative; border: 1px solid #0033FF; } a.<?php echo $block_hover; ?> { font-size: 13px; background: #666; text-align: center; color: #fff; text-decoration: none; border-color: #000; border-radius: 2px; position: relative; display: block; } .active_hover{ background: #0033FF; } </style> <script> jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 1000); return false; }); }); </script> Извиняюсь за несообразительность! я только изучаю, вот полный код который прописан в VM на php, куда именно необходимо прописать ваше дополнение? заранее благодарен. |
<style>
.active_hover{ background: #0033FF; } </style> <script> jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 1000); return false; }); }); </script> Извиняюсь за несообразительность! я только изучаю, вот полный код который прописан в VM на php, куда именно необходимо прописать ваше дополнение? заранее благодарен. |
Александр83,
http://javascript.ru/formatting |
Цитата:
|
Цитата:
|
.active_hover{ background: #0033FF; } jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 1000); return false; }); }); |
ну как то так!
|
давайте с самого начало!
|
// Блок № 1 наведение на ссылку перехода по якорю <table class="tab_01" width="100%" height="100%"> <tr> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_001.'" class="'.$dataItem->tab_001.'">' .$dataItem->tab_001. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_002.'" class="'.$dataItem->tab_002.'">' .$dataItem->tab_002. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_003.'" class="'.$dataItem->tab_003.'">' .$dataItem->tab_003. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_004.'" class="'.$dataItem->tab_004.'">' .$dataItem->tab_004. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_005.'" class="'.$dataItem->tab_005.'">' .$dataItem->tab_005. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_006.'" class="'.$dataItem->tab_006.'">' .$dataItem->tab_006. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_007.'" class="'.$dataItem->tab_007.'">' .$dataItem->tab_007. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_008.'" class="'.$dataItem->tab_008.'">' .$dataItem->tab_008. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_009.'" class="'.$dataItem->tab_009.'">' .$dataItem->tab_009. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_010.'" class="'.$dataItem->tab_010.'">' .$dataItem->tab_010. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_011.'" class="'.$dataItem->tab_011.'">' .$dataItem->tab_011. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_012.'" class="'.$dataItem->tab_012.'">' .$dataItem->tab_012. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_013.'" class="'.$dataItem->tab_013.'">' .$dataItem->tab_013. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_014.'" class="'.$dataItem->tab_014.'">' .$dataItem->tab_014. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_015.'" class="'.$dataItem->tab_015.'">' .$dataItem->tab_015. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_016.'" class="'.$dataItem->tab_016.'">' .$dataItem->tab_016. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_017.'" class="'.$dataItem->tab_017.'">' .$dataItem->tab_017. '</a>'; ?></td> </tr> </table> // Блок № 2 подсвечивание ссылки <div class="op_01"> <a id="<?php echo $product->product_sku; ?>" class="op_02" title="<?php echo $product->product_name; ?>"> <?php echo $product->product_sku; ?> <?php echo shopFunctionsF:: limitStringByWord($product->product_name,'17','...'); ?></a> </div> <?php $block_hover = $product->product_sku; ?> #<?php echo $block_hover; ?>:hover{ color: #fff; text-decoration: none; background: #0033FF; display: block; font-size: 13px; cursor: pointer; position: relative; border: 1px solid #0033FF; } a.<?php echo $block_hover; ?>:hover{ color: #fff; text-decoration: none; background: #0033FF; display: block; font-size: 13px; cursor: pointer; position: relative; border: 1px solid #0033FF; } a.<?php echo $block_hover; ?> { font-size: 13px; background: #666; text-align: center; color: #fff; text-decoration: none; border-color: #000; border-radius: 2px; position: relative; display: block; } .active_hover{ background: #0033FF; } // Плавная прокрутка до якоря jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 800); return false; }); }); |
// Блок № 1 наведение на ссылку перехода по якорю <table class="tab_01" width="100%" height="100%"> <tr> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_001.'" class="'.$dataItem->tab_001.'">' .$dataItem->tab_001. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_002.'" class="'.$dataItem->tab_002.'">' .$dataItem->tab_002. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_003.'" class="'.$dataItem->tab_003.'">' .$dataItem->tab_003. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_004.'" class="'.$dataItem->tab_004.'">' .$dataItem->tab_004. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_005.'" class="'.$dataItem->tab_005.'">' .$dataItem->tab_005. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_006.'" class="'.$dataItem->tab_006.'">' .$dataItem->tab_006. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_007.'" class="'.$dataItem->tab_007.'">' .$dataItem->tab_007. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_008.'" class="'.$dataItem->tab_008.'">' .$dataItem->tab_008. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_009.'" class="'.$dataItem->tab_009.'">' .$dataItem->tab_009. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_010.'" class="'.$dataItem->tab_010.'">' .$dataItem->tab_010. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_011.'" class="'.$dataItem->tab_011.'">' .$dataItem->tab_011. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_012.'" class="'.$dataItem->tab_012.'">' .$dataItem->tab_012. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_013.'" class="'.$dataItem->tab_013.'">' .$dataItem->tab_013. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_014.'" class="'.$dataItem->tab_014.'">' .$dataItem->tab_014. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_015.'" class="'.$dataItem->tab_015.'">' .$dataItem->tab_015. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_016.'" class="'.$dataItem->tab_016.'">' .$dataItem->tab_016. '</a>'; ?></td> <td width="5.88%"><?php echo '<a href="#'.$dataItem->tab_017.'" class="'.$dataItem->tab_017.'">' .$dataItem->tab_017. '</a>'; ?></td> </tr> </table> // Блок № 2 подсвечивание ссылки <div class="op_01"> <a id="<?php echo $product->product_sku; ?>" class="op_02" title="<?php echo $product->product_name; ?>"> <?php echo $product->product_sku; ?> <?php echo shopFunctionsF:: limitStringByWord($product->product_name,'17','...'); ?></a> </div> <?php $block_hover = $product->product_sku; ?> #<?php echo $block_hover; ?>:hover{ color: #fff; text-decoration: none; background: #0033FF; display: block; font-size: 13px; cursor: pointer; position: relative; border: 1px solid #0033FF; } a.<?php echo $block_hover; ?>:hover{ color: #fff; text-decoration: none; background: #0033FF; display: block; font-size: 13px; cursor: pointer; position: relative; border: 1px solid #0033FF; } a.<?php echo $block_hover; ?> { font-size: 13px; background: #666; text-align: center; color: #fff; text-decoration: none; border-color: #000; border-radius: 2px; position: relative; display: block; } .active_hover{ background: #0033FF; } // Плавная прокрутка до якоря jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 800); return false; }); }); |
Простите что по два раза / у меня выходит)
|
Ну вот, мой вопрос, при наведении на первый блок ссылку, подсвечивание якоря ID во втором блоке
|
Подмогните пожалуйста)), уже месяц как не могу найти решение!:(
|
Александр83,
<script> jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function(){ var target = jQuery(this).attr('href'); jQuery('html, body').animate({scrollTop: jQuery(target).offset().top - 120}, 800); return false; }); *!* var hash = window.location.hash; hash && jQuery(hash).addClass("active_hover") */!* }); </script> |
не работает:(
|
Александр83,
при переходе с другой страницы должно подсветить. возможно вы хотите что-то иное |
Вложений: 1
нет, все находится на одной странице, без переходов, существует два блока левый и правый при наведении мышки левого блока - необходима подсветка правого элемента как на скриншоте (во вложении).
|
|
|
не получается загрузить качественное изображение, отправил на яндексе.
|
Цитата:
|
не получается загрузить образец изображения, ну вообщем суть в том чтоб без перехода и только при наведении мышки на ссылку с классом hover, данный класс передавался на другой блок (вроде дублирования HOVER).
средствами CSS - это невыполнимо, в вот JS можно, только вот не знаю как! |
Цитата:
jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function() { var target = jQuery(this).attr("href"); jQuery("html, body").animate({ scrollTop: jQuery(target).offset().top - 120 }, 800); return false }).mouseenter(function() { var target = jQuery(this).attr("href"); jQuery(target).addClass("active_hover") }).mouseleave(function() { var target = jQuery(this).attr("href"); jQuery(target).removeClass("active_hover") }) }); |
к сожалению ни чего не изменилось, а в самой ссылки на якорь нужно какой либо путь до JS прописывать?
<?php echo '<a href="#'.$dataItem->tab_001.'" class="'.$dataItem->tab_001.'">' .$dataItem->tab_001. '</a>'; ?> |
Александр83,
не могу вам помочь, не знаю php |
по PHP нашел сам решение, спасибо, очень помогли, безмерно благодарен вам:)
|
Здравствуйте! возникла очередная проблема в подсветке определенной ссылки, проблема состоит в том что,
при наведении курсора мышки на ссылку "Z111" с div классом left_img - подсветка происходит в div классом right_scrol на все три ссылки (Z1, Z11, Z111), скажите пожалуйста как установить точность чтоб при наведении подсвечивалась Z1 к Z1 итд. Заранее благодарен за ответ! <div class="left_img"> <a href="#<?php echo $block_hover; ?>">Z1</a> <a href="#<?php echo $block_hover; ?>">Z11</a> <a href="#<?php echo $block_hover; ?>">Z111</a> </div> <div class="right_scrol"> <a id="<?php echo $block_hover; ?>">Z1</a> <a id="<?php echo $block_hover; ?>">Z11</a> <a id="<?php echo $block_hover; ?>">Z111</a> </div> #<?php echo $block_hover; ?>:hover{ color: #fff; background: #0033FF; } a.<?php echo $block_hover; ?>:hover{ color: #fff; background: #0033FF; } #<?php echo $block_hover; ?>.script_css{ color: #fff; background: #0033FF; } a.<?php echo $block_hover; ?>.script_css{ color: #fff; background: #0033FF; } jQuery(document).ready(function() { jQuery('a[href^="#<?php echo $block_hover; ?>"]').click(function() { var target = jQuery(this).attr("href"); jQuery('div.right_scrol').animate({ scrollTop: jQuery(target).position().top - 500}, 1000); return false }).mouseenter(function() { var target = jQuery(this).attr("href"); jQuery('#<?php echo $block_hover; ?>').addClass("script_css") }).mouseleave(function() { var target = jQuery(this).attr("href"); jQuery('#<?php echo $block_hover; ?>').removeClass("script_css") }) }); jQuery(document).ready(function() { jQuery('a[id^="<?php echo $block_hover; ?>"]').click(function() { var target = jQuery(this).attr("id"); return false }).mouseenter(function() { var target = jQuery(this).attr("href"); jQuery('a.<?php echo $block_hover; ?>').addClass("script_css") }).mouseleave(function() { var target = jQuery(this).attr("href"); jQuery('a.<?php echo $block_hover; ?>').removeClass("script_css") }) }); |
Часовой пояс GMT +3, время: 03:11. |