Срабатывание по классу

Ответить
Аватара пользователя
l9396

Срабатывание по классу

Сообщение l9396 »

Помогите пожалуйста разобраться, чтобы всплаывающее окно срабатывало по классу (div).

По img, a срабатывает, если поставить их вместо класса .category.



Код: Выделить всё

<script type="text/javascript">
var par = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes";
txt = new Array();
txt[0]="//link"
var b = Math.round(Math.random() * (txt.length - 1))
var ssilka = txt[b];
function Show666() {
cooki=navigator.cookieEnabled;
if(cooki)
{
scookie = GetCookie('kuka1');
if (scookie == null)
{
var ExpDate = new Date ();
ExpDate.setTime(ExpDate.getTime() + (1 * 600 * 1000));
SetCookie('kuka1','1',ExpDate, "/");
$(document).ready(function() {
$(".category").click(function() {
window.open(ssilka, "website", par)
});
});
}
}
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) return getCookieVal (j); i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } function SetCookie (name, value) { var argv = SetCookie.arguments; var argc = SetCookie.arguments.length; var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
document.onmouseup=Show666;
 </script>
Аватара пользователя
ProCoder

Re: Срабатывание по классу

Сообщение ProCoder »

Вам нужно, чтобы окно открывалось при клике на любой div?
Аватара пользователя
ProCoder

Re: Срабатывание по классу

Сообщение ProCoder »

Наверное да, при любом.

Здесь еще в коде был txt[1] для открытия второй ссылки, но не срабатывало, может конечно хром блокировал, но вряд ли.
Аватара пользователя
l9396

Re: Срабатывание по классу

Сообщение l9396 »

У меня срабатывает.



Код:

Код: Выделить всё

var par = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes";
$("div").click(function() {
	window.open('//link', "website", par);
});

Если что, загляните в консоль. Может там есть что интересное...
Аватара пользователя
l9396

Re: Срабатывание по классу

Сообщение l9396 »

В пустом месте нет проблем, а вот по классу заставить работать...
Аватара пользователя
l9396

Re: Срабатывание по классу

Сообщение l9396 »

Точно также и по классу



HTML код:





Код:

Код: Выделить всё

$(".classname").click(function() { ... });
Аватара пользователя
l9396

Re: Срабатывание по классу

Сообщение l9396 »

Т.е. выходит ничего менять и не нужно? Но не срабатывает.

UPD

срабатывает, но как-то через раз. Видимо хром блокирует. Но это ладно.



А есть идеи как грамотно распределить разные ссылки, срабатывание?

txt[0]="//link"

txt[1]="//link"

txt[2]="//link"



Сейчас только одна срабатывает.
Аватара пользователя
ProCoder

Re: Срабатывание по классу

Сообщение ProCoder »

Ссылки можете указать прям в разметке



HTML код:



и потом, при клике получать из атрибута data-link



Код:

Код: Выделить всё

$('.classname').click(function() {
	var ssilka = $(this).attr('data-link');
	if(ssilka) {
		window.open(ssilka, 'website', par);
	}
});
Аватара пользователя
l9396

Re: Срабатывание по классу

Сообщение l9396 »

Спасибо.

Не затруднит вас скинуть полный код как это будет выглядеть? Дел много и пока нет времени вникнуть. Можно и в личку.
Аватара пользователя
l9396

Re: Срабатывание по классу

Сообщение l9396 »

Вот рабочий пример



HTML код:

Код: Выделить всё

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
	<div class="classname" data-link="http://site1.ru">site 1</div>
	<div class="classname" data-link="http://site2.ru">site 2</div>
	<div class="classname" data-link="http://site3.ru">site 3</div>
	<script>
		var par = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes";
		$('.classname').click(function() {
			var ssilka = $(this).attr('data-link');
			if(ssilka) {
				window.open(ssilka, 'website', par);
			}
		});
	</script>
</body>
</html>
Ответить

Вернуться в «Вебмастеру»