Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Создание элементов при загрузке страницы (https://javascript.ru/forum/dom-window/73808-sozdanie-ehlementov-pri-zagruzke-stranicy.html)

Sviside 17.05.2018 15:12

Создание элементов при загрузке страницы
 
Добрый день,

Прошу подсказать -

имеется конфигуратор на сайте, который подгружает активные элементы по клику на них. Так же убирает, при смене конфигурации. Как возможно реализовать загрузку DOM с уже установленными вкладками по умолчанию?

В нашем случае - Жесткий диск - Базовая комплектация.
http://aliengear.ru/aliengear_complete_by_amd_1/

this.form.find(".services .service-variants").on('change', function () {
        
        var w = (parseInt($(this).parent().find('.radio__text i').html()))*10
        var sv = $(this).data('sv');
        
        $('.sv'+sv).find('.scrol').css('width',w + '%')
        $('.sv'+sv).find('.proc i').html(w)
        
        if($(this).parent().find('.radio__text s').text()){ 
            var im =  $(this).parent().find('.radio__text s').html();
            
            $('.s-img .si-' + sv).html('<div class="usl_txt">'+ im + '</div>');



            
            $('.s-img .si-' + sv).css('margin-right', '10px');
                        $('.s-img .si-' + sv).css('margin-top', '10px');

           
            $('.s-img .si-' + sv).css('width', '120px');
            
        }
        else{
            $('.s-img .si-' + sv).html('');
            $('.s-img .si-' + sv).css('border-color','#000');
            $('.s-img .si-' + sv).css('margin-right', '0px');
            $('.s-img .si-' + sv).css('padding', '0px');
            $('.s-img .si-' + sv).css('width', '0px');
        }
        
        self.cartButtonVisibility(true);
        self.updatePrice();
        
    });

Rise 17.05.2018 15:42

Перенести в разметке атрибут checked на нужный input radio.

Nexus 17.05.2018 15:50

Цитата:

Сообщение от Sviside
            $('.s-img .si-' + sv).html('');
            $('.s-img .si-' + sv).css('border-color','#000');
            $('.s-img .si-' + sv).css('margin-right', '0px');
            $('.s-img .si-' + sv).css('padding', '0px');
            $('.s-img .si-' + sv).css('width', '0px');

Эту портянку можно так переписать:
$('.s-img .si-' + sv).empty().css({
    'border-color': '#000',
    'margin-right': 0,
    'padding': 0,
    'width': 0
});

Sviside 17.05.2018 16:19

Цитата:

Сообщение от Rise (Сообщение 485494)
Перенести в разметке атрибут checked на нужный input radio.

Как понимаю, по умолчанию checked="checked" уже стоит

j0hnik 17.05.2018 20:49

Sviside,
$('.service-variants').eq(0).change();

Rise 17.05.2018 21:37

Цитата:

Сообщение от Sviside
по умолчанию checked="checked" уже стоит

Ну поменяйте ручками на сервере, если не получится, то можно и так:
$('.service-variants')
.eq(02).click().end()
.eq(07).click().end()
.eq(10).click().end()
.eq(12).click().end()
.eq(14).click().end()
.eq(16).click().end()
.eq(19).click().end()
.eq(21).click().end()

Sviside 18.05.2018 11:56

Большое всем спасибо, последние 2 варианта помогли

Nexus 18.05.2018 12:29

Немного измененный код Rise:
let $items = $('.service-variants'),
    indexes = [2, 7, 10, 12, 14, 16, 19, 21];

indexes.forEach(function(i) {
    $items.eq(i).click();
});


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