kostenloser Webspace werbefrei: lima-city


Javascript Datum steuern

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    laex630

    laex630 hat kostenlosen Webspace.

    Hi,

    wie kann ich einen bestimmten Javascript mit einem Zeitraum steuern, das er nur vom 01. November bis 01. März ausgeführt wird?

    Gruß & Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hallo laex630,


    z.b. so:
    <script type="text/javascript">
    	var jetzt = new Date();
    	var anfang = new Date(2015, 10, 1, 0, 0, 0);
    	var ende =  new Date(2016, 2, 1, 23, 59, 59);
    	
    	if(jetzt>=anfang && jetzt<=ende) {
    	   // mache etwas
    	}
    </script>



    lg hechma

    Beitrag zuletzt geändert: 7.2.2015 23:37:54 von hechma
  4. Ansonsten ist es auch immer eine gute Idee, so etwas über PHP zu lösen, sodass die Nutzer im Quellcode gar nicht sehen können, was zu der Zeit nicht verfügbar ist.
    Etwa so:

    <?php
    $currentTime = time();//aktueller Timestamp
    $startTime = mktime(0,0,0,11,1,2014);//Timestamp ab wann sichtbar
    $endTime = mktime(0,0,0,3,1,2015);//Timestamp ab wann nicht mehr sichtbar
    
    if ($currentTime >= $startTime
      and $currentTime <= $endTime)
    {
        //was auch immer ausführen ...
    }
    ?>


    Oder, um das Jahr nicht ändern zu müssen, die beiden Variablen respektive so setzen:

    if (date("n") > 3) {//diese bis nächstes Jahr?
        $startTime = mktime(0,0,0,11,1,date("Y"));//Timestamp ab wann sichtbar
        $endTime = mktime(0,0,0,3,1,((int)date("Y")+1));//Timestamp ab wann nicht mehr sichtbar
    } else {//letztes bis dieses Jahr?
        $startTime = mktime(0,0,0,11,1,((int)date("Y")-1));//Timestamp ab wann sichtbar
        $endTime = mktime(0,0,0,3,1,date("Y"));//Timestamp ab wann nicht mehr sichtbar
    }

    (Alles getestet)

    Wenn Du das ganze um den entsprechenden JavaScript-Block tust, musst Du bei //was auch immer ausführen ... stattdessen einfach

    echo <<<JS
    <script type="text/javascript">
    <!--
    //whatever
    //-->
    </script>
    JS;


    ausgeben. (Wichtig: das JS; muss direkt am Zeilenanfang stehen, also keine Einrückung/Leerzeichen etc.

    Beitrag zuletzt geändert: 8.2.2015 20:28:51 von h-weber
  5. Autor dieses Themas

    laex630

    laex630 hat kostenlosen Webspace.

    Kann man sowas auch direkt in der .js ausführen lassen, hier der Script, also jedes Jahr ab November bis 01. März:

    var snowflakes = {
    
    	///////////////////////////// configuration ////////////////////////////
    	
    	// amout of flakes
    	_amount: 40,
    	// random colors
    	_color: ['#AAAACC', '#DDDDFF', '#CCCCDD', '#F3F3F3', '#F0FFFF'],
    	// random fonts
    	_type: ['Arial Black', 'Arial Narrow', 'Times', 'Comic Sans MS'],
    	// char used for flake
    	_flakeChar: '*',
    	// speed of flakes
    	_speed: .05,
    	// minimum flake font size
    	_minSize: 15,
    	// maximum flake font size
    	_maxSize: 22,
    	// horizontal drift
    	_drift: 15,
    	// zIndex of flakes
    	_zIndex: 20000,
    
    	
    	
    	///////////////////////////// private vars /////////////////////////////
    	
    	_flakes: [],
    	_bodyWidth: 0,
    	_bodyHeight: 0,
    	_range: null,
    	_count: 0,
    	_timeout: 20,
    	_lastInterval: 0,
    
    	
    
    	////////////////////////////// functions ///////////////////////////////
    
    	// init snow
    	init: function()
    	{
    		this._addEventListener(window, 'resize', function() { return snowflakes.resize.apply(snowflakes); });
    		this._addEventListener(window, 'load', function() { return snowflakes.start.apply(snowflakes); });
    	},
    	
    	
    	// add an event listener
    	_addEventListener: function(el, name, handler)
    	{
    		if (el.addEventListener)
    			el.addEventListener(name, handler, false); 
    		else if (el.attachEvent)
    			el.attachEvent('on' + name, handler);
    	},
    	
    	
    	// start snow
    	start: function()
    	{
    		// calculate range
    		this._range = this._maxSize - this._minSize;
    
    		// init window size
    		this.resize();
    
    		// add new flakes
    		while (this._amount > this._flakes.length)
    			this._createFlake(this._flakes.length);
    			
    		// start to move snow
    		this._animFn = function() {snowflakes._move();};
    		this._lastInterval = this._time();
    		requestAnimFrame(snowflakes._animFn);
    
    	},
    	
    	
    	// get current time
    	_time: function()
    	{
    		return +new Date();
    	},
    	
    	
    	// return a random integer
    	_randomInt: function(value)
    	{
    		return Math.floor(
    			Math.random() * value
    		);
    	},
    	
    
    	// return a random array element
    	_randomArray: function(arr)
    	{
    		return arr[
    			Math.floor(
    				Math.random() * (arr.length)
    			)
    		];
    	},
    
    	
    	// creates a new snowflake
    	_createFlake: function(i)
    	{
    		var newEl = !this._flakes[i],
    			el, f;
    		
    		if (newEl)
    		{
    			// create new dom el
    			el = document.createElement('div');
    			el.style.position     = 'absolute';
    			el.style.zIndex       = this._zIndex;
    			el.innerHTML          = this._flakeChar;
    			f = {
    				el: el,
    				x: 0,
    				y: 0,
    				size: 0,
    				count: 0
    			};
    			this._flakes[i] = f;
    			document.getElementsByTagName('body')[0].appendChild(el);
    		}
    		else
    		{
    			// use existing dom el
    			f = this._flakes[i];
    			el = f.el;
    		}
    
    		// init flake
    		el.style.left         = '0px';
    		el.style.top          = '-' + this._maxSize + 'px';
    		el.style.color        = this._randomArray(this._color);
    		el.style.family       = this._randomArray(this._type);
    		el.style.fontSize     = (this._randomInt(this._range) + this._minSize) + 'px';
    
    		// create flake object
    		f.x = this._randomInt(this._bodyWidth - this._drift - this._maxSize - 3) + this._drift + 1;
    		f.y = -this._maxSize - this._randomInt(this._bodyHeight);
    		f.size = this._randomInt(this._range) + this._minSize;
    		f.count = this._randomInt(10000);
    	},
    
    	
    	// move existing flakes
    	_move: function()
    	{
    		requestAnimFrame(snowflakes._animFn);
    		
    		// calculate movement factor
    		var dif = this._time() - this._lastInterval,
    			l = this._flakes.length,
    			d = dif * this._speed * this._maxSize,
    			i, flake, flakeDiv;
    			
    		this._lastInterval = this._time();
    		this._count += dif * this._speed / 20;
    		
    		for (i = 0; i < l; i++)
    		{
    			flake = this._flakes[i];
    			flake.y += d / flake.size;
    			
    			// restart existing flake
    			if (flake.y + flake.size >= this._bodyHeight)
    			{
    				this._createFlake(i);
    				continue;
    			}
    			
    			flake.el.style.left = Math.floor(flake.x + Math.sin(flake.count + this._count) * this._drift) + 'px';
    			flake.el.style.top  = Math.floor(flake.y) + 'px';
    		}
    	},
    	
    
    	// calculate new positions for all flakes
    	resize: function()
    	{
    		// save old width
    		var oldWidth = this._bodyWidth;
    
    		// get new width and height
    		this._bodyWidth = this._getWindowWidth() - this._maxSize;
    		this._bodyHeight = this._getWindowHeight() - this._maxSize;
    		
    		// calculate correction ratio
    		var ratio = this._bodyWidth / oldWidth;
    			
    		// for all flakes
    		for (var i = 0, l = this._flakes.length, flake; i < l; i++)
    		{
    			flake = this._flakes[i];
    
    			// do width correction
    			flake.x *= ratio;
    			
    			// restart existing flake
    			if ((flake.y + flake.size) >= this._bodyHeight)
    				this._createFlake(i);
    		}
    	},
    	
    	
    	// get window width
    	_getWindowWidth: function()
    	{
    		var w = Math.max(self.innerWidth || 0, window.innerWidth || 0);
    		
    		if (document.documentElement)
    			w = Math.max(w, document.documentElement.clientWidth || 0);
    		if (document.body)
    		{
    			w = Math.max(w, document.body.clientWidth || 0);
    			w = Math.max(w, document.body.scrollWidth || 0);
    			w = Math.max(w, document.body.offsetWidth || 0);
    		}
    		
    		return w;
    	},
    
    	
    	// get window height
    	_getWindowHeight: function()
    	{
    		var h = Math.max(self.innerHeight || 0, window.innerHeight || 0);
    		
    		if (document.documentElement)
    			h = Math.max(h, document.documentElement.clientHeight || 0);
    		if (document.body)
    		{
    			h = Math.max(h, document.body.clientHeight || 0);
    			h = Math.max(h, document.body.scrollHeight || 0);
    			h = Math.max(h, document.body.offsetHeight || 0);
    		}
    		
    		return h;
    	}
    
    };
    
    // shim layer with setTimeout fallback
    window.requestAnimFrame = (function(){
      return  window.requestAnimationFrame       || 
    		  window.webkitRequestAnimationFrame || 
    		  window.mozRequestAnimationFrame    || 
    		  window.oRequestAnimationFrame      || 
    		  window.msRequestAnimationFrame     || 
    		  function (cb){
    			window.setTimeout(cb, 1000 / 60);
    		  };
    })();
    
    snowflakes.init();
  6. mach das snowflakes.init even nur in dem zeitraum.
  7. f*********r

    Interessantes Thema
    Egal Java Script oder php
    ich habe das problem wie Steuere ich sep. wochen an...?

    Am besten keine KW sondern Zeiträume

    Gruss Flipswetter
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!