PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   HTML, CSS und JavaScript Help! (http://www.selfphp.de/forum/forumdisplay.php?f=24)
-   -   Javascript Contentslider eigene Next/Prev Buttons (http://www.selfphp.de/forum/showthread.php?t=25479)

Murdockz 15.01.2015 16:07:14

Javascript Contentslider eigene Next/Prev Buttons
 
Hallo zusammen,

ich nutze die neuste Webspell-Clan-Version und habe den Featured Contont Slider installiert.
Das Design meiner Seite hat mir damals jemand zerlegt und an Webspell angepasst, inkl. dem Slider.
Leider wurden damals die Next/Prev Buttons nicht mit rein genommen und Sie sind ohne Funktion.
Kann mir evtl. jemand sagen wie die Zeile aussehen muss um diese Buttons zu benutzen?

Kurze Info wenn ihr noch was benötigt und ich kümmere mich schnellst möglich darum.

Code:

<?php
// important data include
include("_mysql.php");
include("_settings.php");
include("_functions.php");

$_language->read_module('index');
$index_language = $_language->module;
// end important data include
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="Clanpage using webSPELL 4 CMS" />
<meta name="author" content="webspell.org" />
<meta name="keywords" content="webspell, webspell4, clan, cms" />
<meta name="copyright" content="Copyright &copy; 2005 - 2011 by webspell.org" />
<meta name="generator" content="webSPELL" />
    <title><?php echo PAGETITLE; ?></title>
    <link href="_stylesheet.css" rel="stylesheet" type="text/css" />
    <link href="navigation.css" rel="stylesheet" type="text/css" />
    <link href="layout.css" rel="stylesheet" type="text/css" />
    <link href="contentslider.css" rel="stylesheet" type="text/css" />
    <script src="js/bbcode.js" language="JavaScript" type="text/javascript"></script>
    <script type="text/javascript" src="js/contentslider.js"></script>
</head>
<body>
<div id="communityjoinbanner">
        <a href="index.php?site=register"><img src="layout/069.png" alt="Registriert euch jetzt!" /></a>
    </div>
<div id="footer-background"></div>
<div class="wapper">
    <div class="login"><?php include("login.php"); ?></div>
        <div style="background-image:url(layout/follow.png); width:81px; height:85px; position:fixed; background-attachment:scroll; float:right;

right:0px; top:150px; background-color:transparent;">
    <div style="margin-top:10px; height:20px;"></div>
    <div style="margin-top:15px; height:20px;"></div></div>
    <div class="logo"></div>
  <div class="slider">
    <div id="slider">
          <div id="slidepic">
                <?php include("features.php"); ?>
        </div>
        <div style="float:left">
            <div id="paginate-slider1" class="pagination">
                              <?php
                $ergebnis=safe_query("SELECT * FROM ".PREFIX."features  ORDER BY sort");
              if(mysql_num_rows($ergebnis)) {
              $n = 1;
                while($db=mysql_fetch_array($ergebnis)) {
                $url = $db['url'];
                    $title = $db['title'];
                                        $text = $db['text'];               
                    eval ("\$features_content2 = \"".gettemplate("features_content2")."\";");
                    echo $features_content2;
                $n ++;
                                        }
                }
              ?>
            <a href="javascript:void(0);" class="prev" style="padding-right:40px; padding-bottom:30px; position:relative; top:0px;

left:550px;"></a> <a href="#" class="next" style="padding-right:40px; padding-bottom:30px; position:relative;top:0px; left:555px;"></a>
            </div>           
          </div>
        <div class="clear"></div>
              </div><!-- Slider End -->
      <script type="text/javascript">
                    featuredcontentslider.init({
                        id: "slider1",  //id of main slider DIV
                        contentsource: ["inline", ""],  //Valid values: ["inline", ""] or ["ajax", "path_to_file"]
                        toc: "markup",  //Valid values: "#increment", "markup", ["label1", "label2", etc]
                        nextprev: ["prev", "next"],  //labels for "prev" and "next" links. Set to "" to hide.
                        enablefade: [true, 0.2],  //[true/false, fadedegree]
                        autorotate: [true, 3000],  //[true/false, pausetime]
                        onChange: function(previndex, curindex){  //event handler fired whenever script changes slide
                              //previndex holds index of last slide viewed b4 current (1=1st slide, 2nd=2nd etc)
                              //curindex holds index of currently shown slide (1=1st slide, 2nd=2nd etc)
                        }
                    })                   
              </script>
    </div><div class="slnext"></div> //Hier muss der Link dann rein für Next/Prev
    <div class="navibg">
      <div class="navi">
    <ul id="nav">
      <li class="web"><a href="index.php"></a></li>
      <li class="web"><a href="index.php?site=news&amp;action=archive"></a></li>
      <li class="info">

// Rest der index.php hat nichts damit zutun

Hier ist der Link zur Seite:
http://www.schmutz-guild.de


Wäre super wenn mir wer helfen könnte :-)

Murdockz 15.01.2015 16:07:49

AW: Javascript Contentslider eigene Next/Prev Buttons
 
Hier noch die Javascript Datei

Code:

var featuredcontentslider={

//3 variables below you can customize if desired:
ajaxloadingmsg: '<div style="margin: 20px 0 0 20px"><img src="loading.gif" /> Fetching slider Contents. Please wait...</div>',
bustajaxcache: true, //bust caching of external ajax page after 1st request?
enablepersist: true, //persist to last content viewed when returning to page?

settingcaches: {}, //object to cache "setting" object of each script instance

jumpTo:function(fcsid, pagenumber){ //public function to go to a slide manually.
        this.turnpage(this.settingcaches[fcsid], pagenumber)
},

ajaxconnect:function(setting){
        var page_request = false
        if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
                try {
                page_request = new ActiveXObject("Msxml2.XMLHTTP")
                }
                catch (e){
                        try{
                        page_request = new ActiveXObject("Microsoft.XMLHTTP")
                        }
                        catch (e){}
                }
        }
        else if (window.XMLHttpRequest) // if Mozilla, Safari etc
                page_request = new XMLHttpRequest()
        else
                return false
        var pageurl=setting.contentsource[1]
        page_request.onreadystatechange=function(){
                featuredcontentslider.ajaxpopulate(page_request, setting)
        }
        document.getElementById(setting.id).innerHTML=this.ajaxloadingmsg
        var bustcache=(!this.bustajaxcache)? "" : (pageurl.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
        page_request.open('GET', pageurl+bustcache, true)
        page_request.send(null)
},

ajaxpopulate:function(page_request, setting){
        if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)){
                document.getElementById(setting.id).innerHTML=page_request.responseText
                this.buildpaginate(setting)
        }
},

buildcontentdivs:function(setting){
        var alldivs=document.getElementById(setting.id).getElementsByTagName("div")
        for (var i=0; i<alldivs.length; i++){
                if (this.css(alldivs[i], "contentdiv", "check")){ //check for DIVs with class "contentdiv"
                        setting.contentdivs.push(alldivs[i])
                                alldivs[i].style.display="none" //collapse all content DIVs to begin with
                }
        }
},

buildpaginate:function(setting){
        this.buildcontentdivs(setting)
        var sliderdiv=document.getElementById(setting.id)
        var pdiv=document.getElementById("paginate-"+setting.id)
        var phtml=""
        var toc=setting.toc
        var nextprev=setting.nextprev
        if (typeof toc=="string" && toc!="markup" || typeof toc=="object"){
                for (var i=1; i<=setting.contentdivs.length; i++){
                        phtml+='<a href="#'+i+'" class="toc">'+(typeof toc=="string"? toc.replace(/#increment/, i) : toc[i-1])+'</a> '
                }
                phtml=(nextprev[0]!=''? '<a href="#prev" class="prev">'+nextprev[0]+'</a> ' : '') + phtml + (nextprev[1]!=''? '<a href="#next" class="next">'+nextprev[1]+'</a>' : '')
                pdiv.innerHTML=phtml
        }
        var pdivlinks=pdiv.getElementsByTagName("a")
        var toclinkscount=0 //var to keep track of actual # of toc links
        for (var i=0; i<pdivlinks.length; i++){
                if (this.css(pdivlinks[i], "toc", "check")){
                        if (toclinkscount>setting.contentdivs.length-1){ //if this toc link is out of range (user defined more toc links then there are contents)
                                pdivlinks[i].style.display="none" //hide this toc link
                                continue
                        }
                        pdivlinks[i].setAttribute("rel", ++toclinkscount) //store page number inside toc link
                        pdivlinks[i][setting.revealtype]=function(){
                                featuredcontentslider.turnpage(setting, this.getAttribute("rel"))
                                return false
                        }
                        setting.toclinks.push(pdivlinks[i])
                }
                else if (this.css(pdivlinks[i], "prev", "check") || this.css(pdivlinks[i], "next", "check")){ //check for links with class "prev" or "next"
                        pdivlinks[i].onclick=function(){
                                featuredcontentslider.turnpage(setting, this.className)
                                return false
                        }
                }
        }
        this.turnpage(setting, setting.currentpage, true)
        if (setting.autorotate[0]){ //if auto rotate enabled
                pdiv[setting.revealtype]=function(){
                        featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id])
                }
                sliderdiv["onclick"]=function(){ //stop content slider when slides themselves are clicked on
                        featuredcontentslider.cleartimer(setting, window["fcsautorun"+setting.id])
                }
                setting.autorotate[1]=setting.autorotate[1]+(1/setting.enablefade[1]*50) //add time to run fade animation (roughly) to delay between rotation
        this.autorotate(setting)
        }
},

urlparamselect:function(fcsid){
        var result=window.location.search.match(new RegExp(fcsid+"=(\\d+)", "i")) //check for "?featuredcontentsliderid=2" in URL
        return (result==null)? null : parseInt(RegExp.$1) //returns null or index, where index (int) is the selected tab's index
},

turnpage:function(setting, thepage, autocall){
        var currentpage=setting.currentpage //current page # before change
        var totalpages=setting.contentdivs.length
        var turntopage=(/prev/i.test(thepage))? currentpage-1 : (/next/i.test(thepage))? currentpage+1 : parseInt(thepage)
        turntopage=(turntopage<1)? totalpages : (turntopage>totalpages)? 1 : turntopage //test for out of bound and adjust
        if (turntopage==setting.currentpage && typeof autocall=="undefined") //if a pagination link is clicked on repeatedly
                return
        setting.currentpage=turntopage
        setting.contentdivs[turntopage-1].style.zIndex=++setting.topzindex
        this.cleartimer(setting, window["fcsfade"+setting.id])
        setting.cacheprevpage=setting.prevpage
        if (setting.enablefade[0]==true){
                setting.curopacity=0
                this.fadeup(setting)
        }
        if (setting.enablefade[0]==false){ //if fade is disabled, fire onChange event immediately (verus after fade is complete)
                setting.contentdivs[setting.prevpage-1].style.display="none" //collapse last content div shown (it was set to "block")
                setting.onChange(setting.prevpage, setting.currentpage)
        }
        setting.contentdivs[turntopage-1].style.visibility="visible"
        setting.contentdivs[turntopage-1].style.display="block"
        if (setting.prevpage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted)
                this.css(setting.toclinks[setting.prevpage-1], "selected", "remove")
        if (turntopage<=setting.toclinks.length) //make sure pagination link exists (may not if manually defined via "markup", and user omitted)
                this.css(setting.toclinks[turntopage-1], "selected", "add")
        setting.prevpage=turntopage
        if (this.enablepersist)
                this.setCookie("fcspersist"+setting.id, turntopage)
},

setopacity:function(setting, value){ //Sets the opacity of targetobject based on the passed in value setting (0 to 1 and in between)
        var targetobject=setting.contentdivs[setting.currentpage-1]
        if (targetobject.filters && targetobject.filters[0]){ //IE syntax
                if (typeof targetobject.filters[0].opacity=="number") //IE6
                        targetobject.filters[0].opacity=value*100
                else //IE 5.5
                        targetobject.style.filter="alpha(opacity="+value*100+")"
        }
        else if (typeof targetobject.style.MozOpacity!="undefined") //Old Mozilla syntax
                targetobject.style.MozOpacity=value
        else if (typeof targetobject.style.opacity!="undefined") //Standard opacity syntax
                targetobject.style.opacity=value
        setting.curopacity=value
},

fadeup:function(setting){
        if (setting.curopacity<1){
                this.setopacity(setting, setting.curopacity+setting.enablefade[1])
                window["fcsfade"+setting.id]=setTimeout(function(){featuredcontentslider.fadeup(setting)}, 50)
        }
        else{ //when fade is complete
                if (setting.cacheprevpage!=setting.currentpage) //if previous content isn't the same as the current shown div (happens the first time the page loads/ script is run)
                        setting.contentdivs[setting.cacheprevpage-1].style.display="none" //collapse last content div shown (it was set to "block")
                setting.onChange(setting.cacheprevpage, setting.currentpage)
        }
},

cleartimer:function(setting, timervar){
        if (typeof timervar!="undefined"){
                clearTimeout(timervar)
                clearInterval(timervar)
                if (setting.cacheprevpage!=setting.currentpage){ //if previous content isn't the same as the current shown div
                        setting.contentdivs[setting.cacheprevpage-1].style.display="none"
                }
        }
},

css:function(el, targetclass, action){
        var needle=new RegExp("(^|\\s+)"+targetclass+"($|\\s+)", "ig")
        if (action=="check")
                return needle.test(el.className)
        else if (action=="remove")
                el.className=el.className.replace(needle, "")
        else if (action=="add")
                el.className+=" "+targetclass
},

autorotate:function(setting){
 window["fcsautorun"+setting.id]=setInterval(function(){featuredcontentslider.turnpage(setting, "next")}, setting.autorotate[1])
},

getCookie:function(Name){
        var re=new RegExp(Name+"=[^;]+", "i"); //construct RE to search for target name/value pair
        if (document.cookie.match(re)) //if cookie found
                return document.cookie.match(re)[0].split("=")[1] //return its value
        return null
},

setCookie:function(name, value){
        document.cookie = name+"="+value

},


init:function(setting){
        var persistedpage=this.getCookie("fcspersist"+setting.id) || 1
        var urlselectedpage=this.urlparamselect(setting.id) //returns null or index from: mypage.htm?featuredcontentsliderid=index
        this.settingcaches[setting.id]=setting //cache "setting" object
        setting.contentdivs=[]
        setting.toclinks=[]
        setting.topzindex=0
        setting.currentpage=urlselectedpage || ((this.enablepersist)? persistedpage : 1)
        setting.prevpage=setting.currentpage
        setting.revealtype="on"+(setting.revealtype || "click")
        setting.curopacity=0
        setting.onChange=setting.onChange || function(){}
        if (setting.contentsource[0]=="inline")
                this.buildpaginate(setting)
        if (setting.contentsource[0]=="ajax")
                this.ajaxconnect(setting)
}

}



Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59:39 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.