Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Сократить скрипт (https://javascript.ru/forum/library-toolkit-framework/3821-sokratit-skript.html)

nemo 26.05.2009 21:51

Сократить скрипт
 
Я только начинаю скриптовать и поэтому видимо у меня всё измухи вслона, скрипт рабочий но слишком большой.. подурузумеваю что написал много лишнего, если возможно помогите сократить плз..

$('#content .node li a').click(function(){ 
 var homepage = $(this).attr('href'); 
    $.cookie("homepage", homepage, {  expires: 360, });
});

$('.settings_form .top .switch .on').click(function(){
 var hptrue = $(this).attr('class');
    $.cookie("hptrue", hptrue, {  expires: 360, });
    $('.settings_form .top .switch .off').removeClass('active');
    $(this).addClass('active');
});

$('.settings_form .top .switch .off').click(function(){
 var hptrue = $(this).attr('class');
    $.cookie("hptrue", null);
    $('.settings_form .top .switch .on').removeClass('active');
    $(this).addClass('active');
});

$(document).ready(function(){
    if($.cookie('hptrue'))
    $('.settings_form .top .switch .on').addClass('active');
    else
    $('.settings_form .top .switch .off').addClass('active');
});




<?if($URI_ID$="page1")?>
<script>
$(document).ready(function(){
if($.cookie("homepage") && $.cookie("hptrue"))
window.location.href = $.cookie('homepage');});
</script><
?endif?>

x-yuri 27.05.2009 04:33

зачем ты такие длинные селекторы пишешь? У тебя же три ссылки - назначь каждой id

ссылкам on/off можно назначить один обработчик (но нужно ли?):
1) что записывать в cookie определяем по классу элемента;
2) затем можно убрать active (для этого им можно назначить какой-нибудь дополнительный класс) с обоих ссылок и назначить текущей
3) cookie можно не удалять, а писать туда название класса, тогда можно будет по совпадению выделить текущую ссылку

p.s. может тебе radio-кнопки использовать? ;)

nemo 27.05.2009 16:11

x-yuri,
Цитата:

зачем ты такие длинные селекторы пишешь? У тебя же три ссылки - назначь каждой id
Поправде нетри.. а от 1 - и доскольки пользователь установит сам по стандарту всего 8.. а переадрессация идет по иконкам рабочего стола поэтому может неоторым это пригодится а некоторым будет мишать поэтому поставил офф он

а поповуду 1).. 2).. 3).. попробую воспользоватся советами, но лучшебы посмотреть хоть какой-нибудь пример.. а так соу алвайс май моск ин атаке

и вот я купил книгу по Delphi учебник как для вузов но мне насрать чей автор книги В.В.Фаронов.. Вот поповуду этого замечательного языка что можешь сказать? =)

x-yuri 27.05.2009 22:56

Цитата:

Поправде нетри.. а от 1 - и доскольки пользователь установит сам по стандарту всего 8.. а переадрессация идет по иконкам рабочего стола поэтому может неоторым это пригодится а некоторым будет мишать поэтому поставил офф он
ну так дай на страничку посмотреть

Цитата:

и вот я купил книгу по Delphi учебник как для вузов но мне насрать чей автор книги В.В.Фаронов.. Вот поповуду этого замечательного языка что можешь сказать? =)
скажу, что я не поклонник delphi... или что ты услышать хотел?

nemo 27.05.2009 23:16

muzmax.ru

нажмешь вход и введешь логин и пароль

godlikeforme

как войдешь нажмешь на ключ затем увидешь там функцию офф он

вопрос №2
там какраз увидешь выбор фона.. как добавить на выбранный фон класс On? чтобы было видно на какую иконку фона пользователь нажал

nemo 27.05.2009 23:19

да поповуду переадрессации страницы.. лучше пока ненажимай On затем переход на одну из иконок.. потому у меня переход пока сделан на страницу Test какой и несуществует.. тоесть если перейдешь с включенным куком на test тебя все время будет туда перебрасывать..

x-yuri 28.05.2009 03:23

$('a.link').click(function(){ 
    var homepage = $(this).attr('href'); 
    $.cookie("homepage", homepage, {  expires: 360, });
});
 
$('a.switch').click(function(){
    var hptrue = $(this).attr('class');
    $.cookie("hptrue", hptrue, {  expires: 360, });
    $('a.switch').removeClass('active');
    $(this).addClass('active');
});
 
$(document).ready(function(){
	var hptrue = $.cookie('hptrue') || 'on';
	$('a.'+hptrue).addClass('active');
});

естественно надо классы в html подправить под этот вариант

nemo 28.05.2009 03:28

спасибо)


Часовой пояс GMT +3, время: 19:22.