Архив

Архив раздела ‘Javascript’
12 января 2013 Нет комментариев

Функции для записи, чтения, очистки cookies:

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name) {
	createCookie(name,"",-1);
}

подробнее: http://www.quirksmode.org/js/cookies.html

Categories: Javascript Tags:
18 сентября 2012 Нет комментариев

Понадобилось для выделения активного элемента навигации по странице.
Скрипт в заголовке страницы (суть работы в том что по клику по ссылке активному элементу дописываем class active):

<script type="text/javascript">
	function RPClass(el) {
		var nav=document.getElementById('nav');
		var links=nav.getElementsByTagName('li');
		for (var i=0;i<links.length;i++) {
			var li=links[i];
			li.className='';
		}
		el.className = 'active';
	}
</script>

Собственно список:

<ul id='nav'>
	<li onclick='RPClass(this);'><a href='#1'>1</a></li>
	<li onclick='RPClass(this);'><a href='#2'>2</a></li>
	<li onclick='RPClass(this);'><a href='#3'>3</a></li>
	<li onclick='RPClass(this);'><a href='#4'>4</a></li>
	<li onclick='RPClass(this);'><a href='#5'>5</a></li>
</ul>

Пример CSS для горизонтального меню с выделением активного элемента рамкой и фоном:

#nav {
	list-style:none;
}
#nav li {
	float:left;
	padding:10px;
	border:1px solid #ffffff;
	margin-right:4px;
}
#nav li:hover, #nav li.active{
	border:1px solid #505050;
	background:#dddddd;
}
#nav li a {
	color:#505050;
	text-decoration:none;
}
Categories: Javascript Tags:
$(document).ready(function () {
	$('iframe').each(function() {
		var url = $(this).attr("src");
		$(this).attr("src",url+"?wmode=opaque");
	});
});
Categories: Javascript Tags:

В раздел инициализации tinymce добавить:

extended_valid_elements:"iframe[src|width|height|name|align]",
Categories: Javascript Tags: ,

Для перехода по ссылке не в iframe а на родительскую страницу:

onclick='parent.$.colorbox.close();window.parent.location.href="/contacts/";'
Categories: Javascript Tags: ,
7 июня 2012 1 комментарий
function blink(selector) {
	$(selector).fadeOut('slow',function() {
		$(this).fadeIn('slow',function() {
			blink(this);
		});
	});
}
$(document).ready(function () {
	blink('.bl');
});
Categories: Javascript Tags:
function fix_flash() {
	var embeds = document.getElementsByTagName('embed');
	for(i=0; i<embeds.length; i++)  {
		embed = embeds[i];
		var new_embed;
		if(embed.outerHTML) {
			var html = embed.outerHTML;
			if(html.match(/wmode\s*=\s*('|")[a-zA-Z]+('|")/i))
			new_embed = html.replace(/wmode\s*=\s*('|")window('|")/i,"wmode='transparent'");
			else 
			new_embed = html.replace(/<embed\s/i,"<embed wmode='transparent' ");
			embed.insertAdjacentHTML('beforeBegin',new_embed);
			embed.parentNode.removeChild(embed);
		} else {
			new_embed = embed.cloneNode(true);
			if(!new_embed.getAttribute('wmode') || new_embed.getAttribute('wmode').toLowerCase()=='window')
			new_embed.setAttribute('wmode','transparent');
			embed.parentNode.replaceChild(new_embed,embed);
		}
	}
	var objects = document.getElementsByTagName('object');
	for(i=0; i<objects.length; i++) {
		object = objects[i];
		var new_object;
		if(object.outerHTML) {
			var html = object.outerHTML;
			if(html.match(/<param\s+name\s*=\s*('|")wmode('|")\s+value\s*=\s*('|")[a-zA-Z]+('|")\s*\/?\>/i))
			new_object = html.replace(/<param\s+name\s*=\s*('|")wmode('|")\s+value\s*=\s*('|")window('|")\s*\/?\>/i,"<param name='wmode' value='transparent' />");
			else 
			new_object = html.replace(/<\/object\>/i,"<param name='wmode' value='transparent' />\n</object>");
			var children = object.childNodes;
			for(j=0; j<children.length; j++) {
				if(children[j].getAttribute('name').match(/flashvars/i)) {
					new_object = new_object.replace(/<param\s+name\s*=\s*('|")flashvars('|")\s+value\s*=\s*('|")[^'"]*('|")\s*\/?\>/i,"<param name='flashvars' value='"+children[j].getAttribute('value')+"' />");
				}
			}
			object.insertAdjacentHTML('beforeBegin',new_object);
			object.parentNode.removeChild(object);
		}
	}
}
$(document).ready(function () {
	fix_flash();    
});

http://www.developersnippets.com/2010/12/04/how-to-add-wmodetransparent-for-flash-object-using-jquery-and-native-javascript/
http://www.onlineaspect.com/2009/08/13/javascript_to_fix_wmode_parameters/

Categories: Javascript Tags: