Visualizzazione dei risultati da 1 a 5 su 5

Discussione: scroll liquido

  1. #1

    scroll liquido

    spero di postare nel forum giusto!!

    ho trovato questo sito
    http://www.prartweb.com/works/
    e se provate a scrollare fino in fondo la pagina e premere sul pulsante "page top" la pagina torna su scorrendo,
    non di botto.

    ho provato a cercare nel codice sorgente ma non trovo nessun riferimento..
    qualcuno sa aiutarmi??

    grazie!

  2. #2
    Sei nel posto giusto!

    Nella pagina ho trovato questo

    codice:
    function ScrollPage(toX, toY, breaking) {
    	if (TimerOfScrollPage) clearTimeout(TimerOfScrollPage);
    
    	if (!toX || toX < 0)	{toX = 0;}
    	if (!toY || toY < 0)	{toY = 0;}
    	if (!currX)	{currX = CurrLeft();}
    	if (!currY)	{currY = CurrTop();}
    	if (!breaking)	{breaking = 5;}
    
    //	alert("stop " + toX + "," + toY + "," + currX + "," + currY);
    
    	currX += (toX - CurrLeft()) / breaking;
    	if (currX < 0) {currX = 0;}
    	currY += (toY - CurrTop()) / breaking;
    	if (currY < 0) {currY = 0;}
    
    //	alert("stop " + currX + "," + currY);
    
    
    	currX = Math.floor(currX);
    	currY = Math.floor(currY);
    	window.scrollTo(currX, currY);
    
    //	alert("stop " + currX + "," + currY );
    
    	if (currX != toX || currY != toY) {
    
    //		alert("set timer " + toX + "," + toY + "," + breaking);
    
    		TimerOfScrollPage = setTimeout("ScrollPage(" + toX + "," + toY + "," + breaking + ")", unittime);
    	}
    }
    
    function JumpToPageTop() {
    	ScrollPage(0, 0, 10);
    }
    te lo invio cosi'. Non lo ho guardato. Se hai bisogno di chiarimenti posta pure. Ciao

  3. #3
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    stava in un file esterno js
    codice:
    var TimerOfScrollPage;
    function JumpToPageTop() {
      ScrollPage(0, 0, 10);
    }
    function ScrollPage(toX, toY, breaking) {
      if (TimerOfScrollPage) {
        clearTimeout(TimerOfScrollPage);
      }
      if (!toX || toX < 0) {
        toX = 0;
      }
      if (!toY || toY < 0) {
        toY = 0;
      }
      if (!currX) {
        currX = CurrLeft();
      }
      if (!currY) {
        currY = CurrTop();
      }
      if (!breaking) {
        breaking = 5;
      }
      currX += (toX - CurrLeft()) / breaking;
      if (currX < 0) {
        currX = 0;
      }
      currY += (toY - CurrTop()) / breaking;
      if (currY < 0) {
       currY = 0;
      }
      currX = Math.floor(currX);
      currY = Math.floor(currY);
      window.scrollTo(currX, currY);
      if (currX != toX || currY != toY) {
        TimerOfScrollPage = setTimeout("ScrollPage(" + toX + "," + toY + "," + breaking + ")", unittime);
      }
    }

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    mi pare questo sia quanto serve in quella particolare pagina per effettuare lo scroll morbido
    codice:
    // ########## TO_TOP
    
    isIE = document.all;            // ブラウザ(IE)のチェック用
    isN6 = document.getElementById; // ブラウザ(N6)のチェック用
    isN4 = document.layers;         // ブラウザ(N4)のチェック用
    myObj = "";                     // ブラウザオブジェクト退避用
    
    //	var Mac = navigator.appVersion.indexOf('Mac',0) != -1;
    //	var Win = navigator.appVersion.indexOf('Win',0) != -1;
    //	var IE  = navigator.appName.indexOf("Microsoft Internet Explorer",0) != -1;
    //	var NN  = navigator.appName.indexOf("Netscape",0) != -1;
    //	var Moz = navigator.userAgent.indexOf("Gecko") != -1;
    //	var Vmajor = parseInt(navigator.appVersion); // ex. 3
    //	var Vminor = parseFloat(navigator.appVersion); // ex. 3.01
    
    //	var MacIE4 = ((Mac && navigator.appVersion.indexOf('MSIE 4.',0) != -1));
    //	var MacIE3 = ((Mac && navigator.appVersion.indexOf('MSIE 3.',0) != -1));
    
    function CurrLeft() {
    	if (isIE) {
    		if(document.compatMode){
    			return document.documentElement.scrollLeft;
    		}else{
    			return document.body.scrollLeft;
    		}
    	} else if (window.pageXOffset) {
    		return window.pageXOffset;
    	} else {
    		return 0;
    	}
    }
    
    function CurrTop() {
    	if (isIE) {
    		if(document.compatMode=="CSS1Compat"){
    			return document.documentElement.scrollTop;
    		}else{
    			return document.body.scrollTop;
    		}
    	} else if (window.pageYOffset) {
    		return window.pageYOffset;
    	} else {
    		return 0;
    	}
    }
    
    
    var TimerOfScrollPage;
    var currX;
    var currY;
    var unittime = 2;
    
    function ScrollPage(toX, toY, breaking) {
    	if (TimerOfScrollPage) clearTimeout(TimerOfScrollPage);
    
    	if (!toX || toX < 0)	{toX = 0;}
    	if (!toY || toY < 0)	{toY = 0;}
    	if (!currX)	{currX = CurrLeft();}
    	if (!currY)	{currY = CurrTop();}
    	if (!breaking)	{breaking = 5;}
    
    //	alert("stop " + toX + "," + toY + "," + currX + "," + currY);
    
    	currX += (toX - CurrLeft()) / breaking;
    	if (currX < 0) {currX = 0;}
    	currY += (toY - CurrTop()) / breaking;
    	if (currY < 0) {currY = 0;}
    
    //	alert("stop " + currX + "," + currY);
    
    
    	currX = Math.floor(currX);
    	currY = Math.floor(currY);
    	window.scrollTo(currX, currY);
    
    //	alert("stop " + currX + "," + currY );
    
    	if (currX != toX || currY != toY) {
    
    //		alert("set timer " + toX + "," + toY + "," + breaking);
    
    		TimerOfScrollPage = setTimeout("ScrollPage(" + toX + "," + toY + "," + breaking + ")", unittime);
    	}
    }
    
    function JumpToPageTop() {
    	ScrollPage(0, 0, 10);
    }
    
    //...
    /* pagetop function
    ============================================================*/
    function setPageTop(){
    	if(!document.getElementsByTagName) return false;
    	var pageTopList = document.getElementsByTagName("img");
    	for(var i=0;i<pageTopList.length;i++){
    		if(pageTopList[i].className.match("pagetop")){
    			pageTopList[i].onclick = function(){
    				JumpToPageTop();
    				return false;
    			}
    		}
    	}
    }
    //...
    /* onload function
    ============================================================*/
    function setOnLoad(){
    	// setRollOver();
    	setPageTop();
    }
    
    
    
    window.onload = setOnLoad;
    fai meglio a trovare qualche esempio spiegato, magari ricercando in google con chiave
    javascript smooth anchor scroll

    ci sono vari script gia' pronti che operano su tutti gli spostamenti interni al documento via ancore (mentre questo riguarda solo il back to top),
    alcuni gia' studiati per essere utilizzati con le piu' diffuse librerie e framework
    (nel caso tu ne stia gia' utilizzando una)
    ciao

  5. #5
    ok!!
    mi serviva proprio il nome dell'effetto!

    adesso che lo so posso fare varie ricerche e procurarmi quello che mi serve!!

    grazie mille!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.