Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   HTML/DHTML/CSS/JS/VB (http://www.flasher.ru/forum/forumdisplay.php?f=66)
-   -   Кто может помочь с доработкой скрипта (http://www.flasher.ru/forum/showthread.php?t=141425)

krasafcheg08 24.06.2010 18:28

Кто может помочь с доработкой скрипта
 
Приветствую, возник вопрос с доработкой скрипка, требуется добавить вывод url
Пример работы тут http://filigrana.ru , при переходе по страницам url остается без изменений, требуется чтобы была приписка при нахождении на странице и следовательно при вводе в адресной строке www.url.ru/#page1 например выводился блок 1 страницы и.т.д. Альтернатива рабочему скрипту есть, но хотелось бы доработать на нем.
Теоретически поддержка в скрипте данной функции есть, вот только заставить работать ее не получается.

Код:

if(typeof jQuery != 'undefined') {
        jQuery(function($) {
                $.fn.extend({
                        loopedSlider: function(options) {
                                var settings = $.extend({}, $.fn.loopedSlider.defaults, options);
                       
                                return this.each(
                                        function() {
                                        if($.fn.jquery < '1.3.2') {return;}
                                        var $t = $(this);
                                        var o = $.metadata ? $.extend({}, settings, $t.metadata()) : settings;
                                       
                                        var distance = 0;
                                        var times = 1;
                                        var slides = $(o.slides,$t).children().size();
                                        var width = $(o.slides,$t).children().outerWidth();
                                        var position = 0;
                                        var active = false;
                                        var number = 0;
                                        var interval = 0;
                                        var restart = 0;
                                        var pagination = $("."+o.pagination+" li a",$t);

                                        if(o.addPagination && !$(pagination).length){
                                                var buttons = slides;
                                                $($t).append("<ul class="+o.pagination+">");
                                                $(o.slides,$t).children().each(function(){
                                                        if (number<buttons) {
                                                                $("."+o.pagination,$t).append("<li><a rel="+(number+1)+" href=\"#\" >"+(number+1)+"</a></li>");
                                                                number = number+1;
                                                        } else {
                                                                number = 0;
                                                                return false;
                                                        }
                                                        $("."+o.pagination+" li a:eq(0)",$t).parent().addClass("active");
                                                });
                                                pagination = $("."+o.pagination+" li a",$t);
                                        } else {
                                                $(pagination,$t).each(function(){
                                                        number=number+1;
                                                        $(this).attr("rel",number);
                                                        $(pagination.eq(0),$t).parent().addClass("active");
                                                });
                                        }

                                        if (slides===1) {
                                                $(o.slides,$t).children().css({position:"absolute",left:position,display:"block"});
                                                return;
                                        }

                                        $(o.slides,$t).css({width:(slides*width)});

                                        $(o.slides,$t).children().each(function(){
                                                $(this).css({position:"absolute",left:position,display:"block"});
                                                position=position+width;
                                        });

                                        $(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width});

                                        if (slides>3) {
                                                $(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:-width});
                                        }

                                        if(o.autoHeight){autoHeight(times);}

                                        $(".next",$t).click(function(){
                                                if(active===false) {
                                                        animate("next",true);
                                                        if(o.autoStart){
                                                                if (o.restart) {autoStart();}
                                                                else {clearInterval(sliderIntervalID);}
                                                        }
                                                } return false;
                                        });

                                        $(".previous",$t).click(function(){
                                                if(active===false) {       
                                                        animate("prev",true);
                                                        if(o.autoStart){
                                                                if (o.restart) {autoStart();}
                                                                else {clearInterval(sliderIntervalID);}
                                                        }
                                                } return false;
                                        });

                                        if (o.containerClick) {
                                                $(o.container,$t).click(function(){
                                                        if(active===false) {
                                                                animate("next",true);
                                                                if(o.autoStart){
                                                                        if (o.restart) {autoStart();}
                                                                        else {clearInterval(sliderIntervalID);}
                                                                }
                                                        } return false;
                                                });
                                        }

                                        $(pagination,$t).click(function(){
                                                if ($(this).parent().hasClass("active")) {return false;}
                                                else {
                                                        times = $(this).attr("rel");
                                                        $(pagination,$t).parent().siblings().removeClass("active");
                                                        $(this).parent().addClass("active");
                                                        animate("fade",times);
                                                        if(o.autoStart){
                                                                if (o.restart) {autoStart();}
                                                                else {clearInterval(sliderIntervalID);}
                                                        }
                                                } return false;
                                        });

                                        if (o.autoStart) {
                                                sliderIntervalID = setInterval(function(){
                                                        if(active===false) {animate("next",true);}
                                                },o.autoStart);
                                                function autoStart() {
                                                        if (o.restart) {
                                                        clearInterval(sliderIntervalID,interval);
                                                        clearTimeout(restart);
                                                                restart = setTimeout(function() {
                                                                        interval = setInterval(        function(){
                                                                                animate("next",true);
                                                                        },o.autoStart);
                                                                },o.restart);
                                                        } else {
                                                                sliderIntervalID = setInterval(function(){
                                                                        if(active===false) {animate("next",true);}
                                                                },o.autoStart);
                                                        }
                                                };
                                        }

                                        function current(times) {
                                                if(times===slides+1){times = 1;}
                                                if(times===0){times = slides;}
                                                $(pagination,$t).parent().siblings().removeClass("active");
                                                $(pagination+"[rel='" + (times) + "']",$t).parent().addClass("active");
                                        };

                                        function autoHeight(times) {
                                                if(times===slides+1){times=1;}
                                                if(times===0){times=slides;}       
                                                var getHeight = $(o.slides,$t).children(":eq("+(times-1)+")",$t).outerHeight();
                                                $(o.container,$t).animate({height: getHeight},o.autoHeight);                                       
                                        };               

                                        function animate(dir,clicked){       
                                                active = true;       
                                                switch(dir){
                                                        case "next":
                                                                times = times+1;
                                                                distance = (-(times*width-width));
                                                                current(times);
                                                                if(o.autoHeight){autoHeight(times);}
                                                                if(slides<3){
                                                                        if (times===3){$(o.slides,$t).children(":eq(0)").css({left:(slides*width)});}
                                                                        if (times===2){$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:width});}
                                                                }
                                                                $(o.slides,$t).animate({left: distance}, o.slidespeed,function(){
                                                                        if (times===slides+1) {
                                                                                times = 1;
                                                                                $(o.slides,$t).css({left:0},function(){$(o.slides,$t).animate({left:distance})});                                                       
                                                                                $(o.slides,$t).children(":eq(0)").css({left:0});
                                                                                $(o.slides,$t).children(":eq("+(slides-1)+")").css({ position:"absolute",left:-width});                               
                                                                        }
                                                                        if (times===slides) $(o.slides,$t).children(":eq(0)").css({left:(slides*width)});
                                                                        if (times===slides-1) $(o.slides,$t).children(":eq("+(slides-1)+")").css({left:(slides*width-width)});
                                                                        active = false;
                                                                });                                       
                                                                break;
                                                        case "prev":
                                                                times = times-1;
                                                                distance = (-(times*width-width));
                                                                current(times);
                                                                if(o.autoHeight){autoHeight(times);}
                                                                if (slides<3){
                                                                        if(times===0){$(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:(-width)});}
                                                                        if(times===1){$(o.slides,$t).children(":eq(0)").css({position:"absolute",left:0});}
                                                                }
                                                                $(o.slides,$t).animate({left: distance}, o.slidespeed,function(){
                                                                        if (times===0) {
                                                                                times = slides;
                                                                                $(o.slides,$t).children(":eq("+(slides-1)+")").css({position:"absolute",left:(slides*width-width)});
                                                                                $(o.slides,$t).css({left: -(slides*width-width)});
                                                                                $(o.slides,$t).children(":eq(0)").css({left:(slides*width)});
                                                                        }
                                                                        if (times===2 ) $(o.slides,$t).children(":eq(0)").css({position:"absolute",left:0});
                                                                        if (times===1) $(o.slides,$t).children(":eq("+ (slides-1) +")").css({position:"absolute",left:-width});
                                                                        active = false;
                                                                });
                                                                break;
                                                        case "fade":
                                                                times = [times]*1;
                                                                distance = (-(times*width-width));
                                                                current(times);
                                                                if(o.autoHeight){autoHeight(times);}
                                                                $(o.slides,$t).children().fadeOut(o.fadespeed, function(){
                                                                        $(o.slides,$t).css({left: distance});
                                                                        $(o.slides,$t).children(":eq("+(slides-1)+")").css({left:slides*width-width});
                                                                        $(o.slides,$t).children(":eq(0)").css({left:0});
                                                                        if(times===slides){$(o.slides,$t).children(":eq(0)").css({left:(slides*width)});}
                                                                        if(times===1){$(o.slides,$t).children(":eq("+(slides-1)+")").css({ position:"absolute",left:-width});}
                                                                        $(o.slides,$t).children().fadeIn(o.fadespeed);
                                                                        active = false;
                                                                });
                                                                break;
                                                        default:
                                                                break;
                                                        }                                       
                                                };
                                        }
                                );
                        }
                });
                $.fn.loopedSlider.defaults = {
                        container: ".container", //Class/id of main container. You can use "#container" for an id.
                        slides: ".slides", //Class/id of slide container. You can use "#slides" for an id.
                        pagination: "pagination", //Class name of parent ul for numbered links. Don't add a "." here.
                        containerClick: false, //Click slider to goto next slide? true/false
                        autoStart: 0, //Set to positive number for true. This number will be the time between transitions.
                        restart: 0, //Set to positive number for true. Sets time until autoStart is restarted.
                        slidespeed: 300, //Speed of slide animation, 1000 = 1second.
                        fadespeed: 200, //Speed of fade animation, 1000 = 1second.
                        autoHeight: 0, //Set to positive number for true. This number will be the speed of the animation.
                        addPagination: true //Add pagination links based on content? true/false
                };
        });
}


zurkis 24.06.2010 20:43

а откуда известно что поддержка в скрипте данной функции есть? есть документация по работе скрипта?

krasafcheg08 25.06.2010 10:42

в конце скрипта есть параметры
container: ".container", //Class/id of main container. You can use "#container" for an id.
slides: ".slides", //Class/id of slide container. You can use "#slides" for an id. Как понимаю можно добавить нумерацию к слайдам.
pagination: "pagination", //Class name of parent ul for numbered links. Don't add a "." here.
Судя по данной строке можно добавить к блоку страниц id нумерацию
addPagination: true //добавить страничную ссылку к линкам

Так выглядит блок дивов.
Код:

<div id="loopedSlider">
<div id="menu_itc" align="center"><div>
<ul class="pagination">
                              <li><a href="#"> Главная </a></li>
                              <li><a href="#">Курсы и Мастер классы</a></li>
                              <li><a href="#">Авторский материал</a></li>
</ul></div></div>
<div class="container">
<ul class="slides">
                        <li>
                                <!--[Главная]-->
                                <p><?PHP
 $template = "Fullnews";
 include("tdtd/td_td.php");
?></p>

<li>
            <!--[Курсы и Мастер классы]-->
                               
</p>

<li>
                                <!--[Авторский материал]-->
                               
</p>


</ul>
</div>
        <a id="menu_itc" href="#" class="previous">* Предыдцщий раздел *</a>
        <a id="menu_itc" href="#" class="next">* Следующий раздел *</a>
<p>
<script type="text/javascript">
        $(function(){
                $('#loopedSlider').loopedSlider({
                        autoHeight: 500
                });
        });
</script> 
</p>
</div>



Часовой пояс GMT +4, время: 07:58.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.