• 08-11-2010, 01:29:57
    #1
    Arkadaşlar elimde MGJS.goTop fonksiyonunu bütümleyen bir .js dosyası var.Bu script sayesinde sitemde ''Yukarı Git'' olayını, birden değil de, tıpkı mouse ile kaydırır gibi kullanıyorum.İşte söz konusu .js dosyasının içeriği:
    (function() {
    
    function $(id) {
       return document.getElementById(id);
    }
    
    function setStyleDisplay(id, status) {
       $(id).style.display = status;
    }
    
    function goTop(acceleration, time) {
       acceleration = acceleration || 0.1;
       time = time || 16;
    
       var dx = 0;
       var dy = 0;
       var bx = 0;
       var by = 0;
       var wx = 0;
       var wy = 0;
    
       if (document.documentElement) {
          dx = document.documentElement.scrollLeft || 0;
          dy = document.documentElement.scrollTop || 0;
       }
       if (document.body) {
          bx = document.body.scrollLeft || 0;
          by = document.body.scrollTop || 0;
       }
       var wx = window.scrollX || 0;
       var wy = window.scrollY || 0;
    
       var x = Math.max(wx, Math.max(bx, dx));
       var y = Math.max(wy, Math.max(by, dy));
    
       var speed = 1 + acceleration;
       window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
       if(x > 0 || y > 0) {
          var invokeFunction = "MGJS.goTop(" + acceleration + ", " + time + ")"
          window.setTimeout(invokeFunction, time);
       }
    }
    
    function switchTab(showPanels, hidePanels, activeTab, activeClass, fadeTab, fadeClass) {
       $(activeTab).className = activeClass;
       $(fadeTab).className = fadeClass;
    
       var panel, panelList;
       panelList = showPanels.split(',');
       for (var i = 0; i < panelList.length; i++) {
          var panel = panelList[i];
          if ($(panel)) {
             setStyleDisplay(panel, 'block');
          }
       }
       panelList = hidePanels.split(',');
       for (var i = 0; i < panelList.length; i++) {
          panel = panelList[i];
          if ($(panel)) {
             setStyleDisplay(panel, 'none');
          }
       }
    }
    
    window['MGJS'] = {};
    window['MGJS']['$'] = $;
    window['MGJS']['setStyleDisplay'] = setStyleDisplay;
    window['MGJS']['goTop'] = goTop;
    window['MGJS']['switchTab'] = switchTab;
    
    })();
    
    function switchImage(imageId, imageUrl, linkId, linkUrl, preview, title, alt) {
       if(imageId && imageUrl) {
          var image = $(imageId);
          image.src = imageUrl;
    
          if(title) {
             image.title = title;
          }
          if(alt) {
             image.alt = alt;
          }
       }
    
       if(linkId && linkUrl) {
          var link = $(linkId);
          link.href = linkUrl;
       }
    }
    Adını ''yukari.js'' olarak kaydettim ve Wordpress sistemimdeki temama attım.Temamın header.php dosyasının, ''</head>'' kısmından öncesine şunu ekledim:
    <script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/yukari.js">
    Sitemin istediğim yerine de link olarak şu şekilde ekledim:
    <a href="#" onclick="MGJS.goTop();return false;">Yukarı</a>
    Buraya kadar herşey sağlıklı ve normal.Fakat benim yapmak istediğim olay bunun tam tersi.Yani aynen bu tarz bir .js dosyası ile sayfayı en aşağı kaydırarak indirtmek istiyorum.Bu konuda .js uzmanı arkadaşlardan bir yardım bekliyorum.

    Oluşturduğum yukarı kaydırma olayı sitemde, sol kısımdaki küçük butoncuklardan yukarı ok olanıdır.Denemek için tıklayınız: (Reklâm değildir.)
    ShaLgam.Com
  • 09-11-2010, 15:38:26
    #2
    Alta kaydırmayı denemedim ama yukarı kaydırmak için niye bu dosyayı kullanılıyorsun ?

    $(function() {
    		$("#yukari").click(function() {
    			$("html,body").stop().animate({ scrollTop: "0" }, 1000);
    		});
    });
    Bu yeterli olur yapmanız gereken sayfaya jquery dahil etmek..
  • 09-11-2010, 16:35:18
    #3
    .js konusunda fazla deneyimli olmadığımdan dolayı, birtakım arkadaşların php-fusion sistemleri için kullandığı dosyayı alıp uyarlamıştım.Sizin kısaca verdiğiniz kod da işe yarıyor, teşekkürler.Fakat bir de şu olayın tam tersi hususunda yardım edebilecek bir arkadaş varsa lütfen yorumunu esirgemesin...