Генерация кнопок в панели навигации для каждого существующего якоря
Всем привет! Помогите пожалуйста, если не решением, то хоть советом или литературой.
Как сделать так, чтоб кнопки в панели навигации создавались автоматически для каждого имеющегося на странице якоря? Якоря создаются сейчас автоматом для каждого тега <p>: http://jsfiddle.net/malefikus13/hwmj2m2o/ Заранее спасибо! |
malefikus13,
ваш макет непонятен, где якоря и что есть панель навигации и кнопка, её функции? |
Цитата:
Якоря присваиваются в таблице, к каждому тегу <p>, что находится в <td>'шке. Т.е. имеется некая страница, с n'ым кол-вом таких вот тегов <p>. В боевом варианте, их количество всегда разное. Сейчас на каждый такой тег, вешается якорь. <section class="zagol" id="link_1(на каждый последующий якорь цифра в этом поле увеличивается на один.)"></section> Имеется панелька, в правом верхнем углу. Мне необходимо, чтоб исходя из кол-ва сгенерированных <p> внутри таблицы, генерировалось такое же кол-во кнопок. Т.е. на каждый якорь по своей кнопке. Чтоб была возможность при клике по ним, переходить на нужный тег <p>. :) |
Генератор панели навигации
malefikus13,
курсор вправо вверх и нажать на любой заголовок в выпавшем меню, остальное добавить по вкусу.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Панель навигации по заголовкам в таблице - jsFiddle demo by malefikus13</title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.11.0.js'></script>
<style type='text/css'>
.box-crew{height:50px;position:fixed;right:0;top:0;width:430px}
.box-crew #slide_mnu_ul{margin:0;padding:0;position:absolute;text-align:center;top:-100px;transition-duration:0.6s;width:100%;border-radius:6px;background:#6A5ACD}
.box-crew:hover #slide_mnu_ul{top:0}
li{list-style:none;color:#FFF;cursor:pointer}
.link_group_header p{height:500px;background:#FFE4B5}
</style>
<script>
(function($) {
$.fn.scrollTo = function(speed, easing, callback) {
$("body,html").animate({
scrollTop: this.offset().top
}, speed, easing, callback);
return this
}
})(jQuery);
$(function() {
var p = $(".link_group_header p");
if (p.length) {
var div = $("<div/>", {
"class": "box-crew"
}).appendTo("#object_data_body");
var ul = $("<ul/>", {
"id": "slide_mnu_ul"
}).appendTo(div);
p.each(function(index, el) {
var li = $("<li/>", {
text: $(el).text(),
click: function() {
$(el).scrollTo(500)
}
}).appendTo(ul)
})
}
});
</script>
</head>
<body>
<div id="object_data_body">
<table>
<tr class="link_group_header"><td colspan="3"><p>Заголовок 1</p></td></tr>
<tr class="link_group_header"><td colspan="2"><p>Заголовок 2</p></td></tr>
<tr class="link_group_header"><td colspan="2"><p>Заголовок 3</p></td></tr>
<tr class="link_group_header"><td colspan="2"><p>Заголовок 4</p></td></tr>
</table>
</div>
</body>
</html>
|
Цитата:
|
Цитата:
|
malefikus13,
строка 34
html : $("<img/>", {"class" : "me", "src" : "http://javascript.ru/forum/images/smilies/smile.gif"})
или просто html : "всякая html только кавычки одинарные" или в тегах p <p data-title="всяка разна">Заголовок 1</p>тогда
html : $(el).data("title")
или html : "Секция " + ++index |
Цитата:
|
| Часовой пояс GMT +3, время: 15:33. |