Решить вопрос: Переход по ссылке с якорями
Всем привет!
У меня такая дилема образовалась. Есть страница с прайс-листами. Прайс листы находятся в таблицах которые расположены в табах: javascript:
(function($) {
$(function() {
$('ul.maintabs').on('click', 'li:not(.currentabs)', function() {
$(this).addClass('currentabs').siblings().removeClass('currentabs')
.parents('div.sectiontabs').find('div.boxtabs').eq($(this).index()).fadeIn(150).siblings('div.boxtabs').hide();
})
})
})
Код на странице прайс-листов <div class="sectiontabs"> <ul class="maintabs"> <li>Цены 1</li> <li>Цены 2</li> </ul> <!-- Таб 1 --> <div class="boxtabs"> <h3 style="text-align: center;">Цены 1</h3> <table style="font-size: 11px; line-height: 14px;" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td style="text-align: center;" colspan="2" valign="top" width="100%"> <!-- Цена 1 --> <h4>цена товара 1</h4> </td> </tr> </table> </div> <!-- Таб 2 --> <div class="boxtabs"> <h3 style="text-align: center;">Цены 2</h3> <table style="font-size: 11px; line-height: 14px;" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td style="text-align: center;" colspan="2" valign="top" width="100%"> <!-- Цена 2 --> <h4>Цена товара 2</h4> </td> </tr> </table> </div> </div> Как сделать якорь в ссылке чтобы при переходе открывался "Таб 2" и переходил к строке "Цена товара 2"? PS просто HTML не предлагать :nono: :) |
:-/ Непонятно что нужно - и почему не устраивает HTML ?
Ибо есть псевдокласс target => http://htmlbook.ru/css/target Cделайте эскиз произходящего - до и после |
:write:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function () {
$('ul.maintabs')
.on('click', 'li:not(.currentabs)', function () {
$(this)
.addClass('currentabs')
.siblings()
.removeClass('currentabs')
.parents('div.sectiontabs')
.find('div.boxtabs')
.eq($(this)
.index())
.fadeIn(150)
.siblings('div.boxtabs')
.hide();
})
$('ul.maintabs li')
.each(function (indx, element) {
var text = element.firstChild;
$(text)
.replaceWith($('<a/>', {
text: text.data,
href: '#price_' + indx
}))
$('.sectiontabs h4')
.eq(indx)
.attr('id', 'price_' + indx);
if(window.location.hash == '#price_' + indx) $(this).click();
});
})
</script>
<style type="text/css">
.currentabs {
background-color: #FFD700;
}
body{
height: 1000px;
}
h4:target {
background: #00FF00;
}
li a{
text-decoration: none;
color: #000000;
}
.boxtabs{
display: none;
}
</style>
</head>
<body>
<div class="sectiontabs">
<ul class="maintabs">
<li>Цены 1</li>
<li>Цены 2</li>
</ul>
<!-- Таб 1 -->
<div class="boxtabs">
<h3 style="text-align: center;">Цены 1</h3>
<table style="font-size: 11px; line-height: 14px;" width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td style="text-align: center;" colspan="2" valign="top" width="100%">
<!-- Цена 1 -->
<h4 >цена товара 1</h4>
</td>
</tr>
</table>
</div>
<!-- Таб 2 -->
<div class="boxtabs">
<h3 style="text-align: center;">Цены 2</h3>
<table style="font-size: 11px; line-height: 14px;" width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td style="text-align: center;" colspan="2" valign="top" width="100%">
<!-- Цена 2 -->
<h4>Цена товара 2</h4>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>
|
рони спасибо вам за ответ, но это не то что мне нужно. Вероятно я неправильно выразился. Попробую снова.
Есть две разных страницы на сайте: 1. Описание услуги (бла бла бла установка смесителя обращайтесь к нам) 2. Цены на услуги (цены расположены в таблицах которые в свою очередь находятся в табах) Задача: На странице 1 я размещаю ссылку вида: <a href="/ceny-na-uslugi/#cena-ustanovki-smesitelya">Узнать цену</a> А на странице 2 прайсы, код: <div class="sectiontabs"> <ul class="maintabs"> <li>Цены 1</li> <li>Цены 2</li> </ul> <!-- Таб 1 --> <div class="boxtabs"> <h3 style="text-align: center;">Цены 1</h3> <table style="font-size: 11px; line-height: 14px;" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <!-- Цена 1 --> <td style="text-align: center;" colspan="2" valign="top" width="100%"> цена товара 1 </td> </tr> </table> </div> <!-- Таб 2 --> <div class="boxtabs"> <h3 style="text-align: center;">Цены 2</h3> <table style="font-size: 11px; line-height: 14px;" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <!-- Цена 2 --> <td id="cena-ustanovki-smesitelya" style="text-align: center;" colspan="2" valign="top" width="100%"> Цена товара 2 </td> </tr> </table> </div> </div> Чтобы при переходе по ссылке со страницы 1 открывалась страница 2 и переключался таб 2 с прокруткой до <td> с id="cena-ustanovki-smesitelya" И чтобы соответственно табы остались рабочими, т.е. можно было переключаться по ним. Яваскрипт тот же, из поста номер один |
Alex57B,
добавлен переход по hash пост 3 |
рони,
Спасибо большое. Все получилось как и хотел :dance: |
| Часовой пояс GMT +3, время: 06:25. |