Подсветка строки при переходе по якорю
Доброго времени суток.
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, время: 00:48. |