PageSourceSearch

https://erda.org/wp-content/themes/theroof-child/assets/js/custom.js?ver=7.1.3

js erda.org collected 2026-10-08 17:00:45 UTC 3,568 bytes, 126 lines download raw bytes

1jQuery(document).ready(function ($) {
2
3    // Hide Message
4      jQuery('.success-msg').delay(5000).fadeOut(500);
5
6
7      $(document).on('click', '.accordion-title', function () {
8
9    var $title  = $(this);
10    var $item   = $title.closest('.accordion-item');
11    var $content = $item.find('.accordion-content');
12
13    // If already open → close smoothly
14    if ($content.is(':visible')) {
15        $content
16            .stop(true, true)
17            .slideUp(300)
18            .removeClass('active');
19
20        $title.removeClass('active');
21        return;
22    }
23
24    // Close all other accordions smoothly
25    $('.accordion-content:visible')
26        .stop(true, true)
27        .slideUp(300)
28        .removeClass('active');
29
30    $('.accordion-title').removeClass('active');
31
32    // Open clicked accordion smoothly
33    $content
34        .stop(true, true)
35        .slideDown(300)
36        .addClass('active');
37
38    $title.addClass('active');
39});
40
41    jQuery('select[name="positonapplied"]').on('change', function () {
42        const jobId = jQuery(this).find('option:selected').data('jobid') || '';
43        jQuery('#job_id').val(jobId);
44    });
45
46    jQuery(document).on('click', '.apply-now-btn', function (e) {
47    e.preventDefault();
48    e.stopImmediatePropagation();
49
50    var jobId = jQuery(this).data('jobid');
51    var $item = jQuery(this).closest('.accordion-item');
52    var $title = $item.find('.accordion-title');
53    var $content = $item.find('.accordion-content');
54    var $select = jQuery('select[name="positonapplied"]');
55
56    // Force open accordion
57    jQuery('.accordion-content').removeClass('active').hide();
58    jQuery('.accordion-title').removeClass('active');
59	jQuery('#job_id').val(jobId);
60
61
62    $content.addClass('active').stop(true, true).show();
63    $title.addClass('active');
64
65    // ✅ MATCH OPTION BY data-jobid
66    if (jobId && $select.length) {
67        $select.find('option').each(function () {
68            if (jQuery(this).data('jobid') == jobId) {
69                jQuery(this).prop('selected', true);
70            }
71        });
72
73        // trigger CF7 change
74        $select.trigger('change');
75    }
76
77    // Scroll to form
78    var $formContainer = jQuery('#formcontainer');
79    if ($formContainer.length) {
80        jQuery('html, body').animate({
81            scrollTop: $formContainer.offset().top - 200
82        }, 700);
83    }
84
85    return false;
86});
87
88
89    // $(document).on('click', '.apply-now-btn', function (e) {
90    //     e.preventDefault();
91    //     e.stopImmediatePropagation(); // 🔥 critical
92
93    //     var jobId = $(this).data('jobid');
94    //     var $item = $(this).closest('.accordion-item');
95    //     var $title = $item.find('.accordion-title');
96    //     var $content = $item.find('.accordion-content');
97    //     var $select = $('select[name="positonapplied"]');
98
99    //     // FORCE open accordion
100    //     $('.accordion-content').removeClass('active').hide();
101    //     $('.accordion-title').removeClass('active');
102
103    //     $content
104    //         .addClass('active')
105    //         .stop(true, true)
106    //         .show();
107
108    //     $title.addClass('active');
109
110    //     // Set dropdown value
111    //     if (jobId && $select.length) {
112    //         $select.val(jobId).trigger('change');
113    //     }
114
115    //     // Scroll to form
116    //     var $formContainer = $('#formcontainer');
117    //     if ($formContainer.length) {
118    //         $('html, body').animate({
119    //             scrollTop: $formContainer.offset().top - 200
120    //         }, 700);
121    //     }
122
123    //     return false;
124    // });
125
126});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.