$(".sec-01__slider").slick({
dots: true,
autoplay: false,
arrows: false,
});
let result;
/* $.ajax({
method: "GET",
url: "../json/data.json",
dataType: "json",
}).done(function (msg) {
result = [...msg];
renderSec00(result);
renderSec02(result);
renderSec03(result);
renderSec06(result);
renderSec07(result);
renderSec08(result);
renderSec09(result);
renderSec10(result);
renderSec11(result);
renderVideo(result);
}); */
axios.get('https://m3.hhh.com.tw:18686/genjson').then(({ data }) => {
//alert(data);
result = [...data];
//console.log(result);
renderSec00(result);
renderSec02(result);
renderSec03(result);
renderSec06(result);
renderSec07(result);
renderSec08(result);
renderSec09(result);
renderSec10(result);
renderSec11(result);
renderVideo(result);
});
function renderSec00(data) {
let temp = data[0]['data'];
renderBannerStr('sec-00__slider', temp);
$(".sec-00__slider").slick({
dots: false,
speed: 800,
autoplay: true,
});
}
function renderSec02(data) {
let temp = data[1]['data'];
renderBannerStr('sec-02__slider', temp);
let str = '';
$(".sec-02__slider").slick({
dots: false,
autoplay: true,
arrows: true,
fade: true,
autoplaySpeed: 4000,
});
}
function renderBannerStr(sec, data) {
let str = '';
for(let i = 0; i < data.length; i++){
str+= `
`
}
console.log(str);
$(`.${sec}`).html(str);
}
function renderSec03(data) {
let randomIdx = Math.floor(Math.random()*3);
const ran = $('.sec-03__tabdiv .nav-item-link').eq(randomIdx);
const ranDiv = $('#pills-tabContent .tab-pane').eq(randomIdx);
ran.addClass('active');
ranDiv.addClass('active');
ranDiv.addClass('show');
let temp = data[2]['data'];
for(let i = 0; i < temp.length; i++){
if(temp[i]["tab"] == '最夯設計'){
let str = '';
let sub = temp[i]["data"];
for(let j = 0; j < sub.length; j++){
str+= ``
}
$('#pills-hot .tabpar').html(str);
}
if(temp[i]["tab"] == '影音實錄'){
let str = '';
let sub = temp[i]["data"];
for(let j = 0; j < sub.length; j++){
str+= ``
}
$('#pills-video .tabpar').html(str);
}
if(temp[i]["tab"] == '專欄文章'){
let str = '';
let sub = temp[i]["data"];
for(let j = 0; j < sub.length; j++){
str+= ``
}
$('#pills-blog .tabpar').html(str);
}
}
const cardText = document.querySelectorAll('.tabpar__card p');
cardText.forEach((item, i) => {
let len = item.textContent.length;
if(len > 20) {
let str = item.textContent.substring(0, 20) + '...';
item.textContent = str;
}
})
}
function renderSec06(data) {
let temp = data[3]['data'];
let str = '';
for(let i = 0; i < temp.length; i++){
if(i === 0) {
str+= `
`
} else {
str+= `
`
}
}
$('.sec-06 .carousel-inner').html(str);
}
function renderSec07(data) {
let temp = data[4]['data'];
let str = '';
for(let i = 0; i < temp.length; i++){
str+= `
${temp[i]['description']}
`
}
$('.sec-07__slider').html(str);
$(".sec-07__slider").slick({
arrows: false,
slidesToShow: 1,
centerMode: true,
infinite: false,
dots: true,
centerPadding: '12px'
});
const cardText = document.querySelectorAll('.sec-07__cardtxt');
cardText.forEach((item, i) => {
let len = item.textContent.length;
if(len > 20) {
let str = item.textContent.substring(0, 25) + '...';
item.textContent = str;
}
})
}
function renderSec08(data) {
let temp = data[5]['data'];
let str = '';
for(let i = 0; i < temp.length; i++){
str+= ``
}
$('.sec-08__slider').html(str);
$(".sec-08__slider").slick({
autoplay: true,
autoplaySpeed: 8000,
arrows: false,
slidesToShow: 1,
centerMode: true,
infinite: true,
dots: false,
centerPadding: '12px'
});
}
function renderSec09(data) {
let temp = data[6]['data'];
let str = '';
for(let i = 0; i < temp.length; i++){
str+= `
${temp[i]['description']}
`
}
$('.sec-09__cardgrp').html(str);
$(".sec-09__cardgrp").slick({
arrows: false,
slidesToShow: 2,
slidesToScroll: 1,
infinite: true,
dots: false,
centerPadding: '10px'
});
}
function renderSec10(data) {
let temp = data[7]['data'];
renderRecStr('sec-10', temp);
}
function renderSec11(data) {
let temp = data[8]['data'];
renderRecStr('sec-11', temp);
}
function renderRecStr(sec, data) {
let str = '';
for(let i = 0; i < data.length; i++){
if(data[i].video == 'true') {
str+= `
${data[i]['description']}
`;
} else {
str+= `
${data[i]['description']}
`;
}
}
$(`.${sec}__slider`).html(str);
$(`.${sec}__slider`).slick({
arrows: false,
slidesToShow: 1,
centerMode: true,
infinite: false,
dots: false,
centerPadding: '12px'
});
}
function renderVideo(data) {
let temp = data[9];
$('.sec-05__video__txt').text(temp['title']);
$('.sec-05__video__imgfr').css('background-image', `url(https://img.youtube.com/vi/${temp['yt']}/hqdefault.jpg)`);
$('#videoModal').on('shown.bs.modal', function () {
$('#videoModal iframe').attr('src', `https://www.youtube.com/embed/${temp['yt']}?controls=0&autoplay=1&enablejsapi=1&origin=https%3A%2F%2Fm.hhh.com.tw&widgetid=1`);
});
$('#videoModal').on('hidden.bs.modal', function () {
$('#videoModal iframe').removeAttr('src');
});
}
window.addEventListener('scroll', fixedOnScroll);
const navbar = document.querySelector('.navbar-main');
function fixedOnScroll() {
const sticky = 110;
if(window.pageYOffset >= sticky){
navbar.classList.add('sticky');
} else {
navbar.classList.remove('sticky');
}
}
$('.navbar-toggler').click(function(){
$(".sec-menu").css('display', 'block');
$(".wholeBody").css('overflow-y', 'hidden');
$('.sec-menu-block').addClass('slidein');
$('.sec-menu-block').removeClass('slideout');
});
$('.navbar-back').click(function(){
$(".sec-menu").css('display', 'none');
$(".wholeBody").css('overflow-y', 'scroll');
$('.sec-menu-block').removeClass('slidein');
$('.sec-menu-block').addClass('slideout');
});
$('.subexpand').click(function(){
$(this).parent().next().toggleClass('show');
$(this).parent().toggleClass('show');
});
$('.navbar-search').click(function(){
$(".sec-search").css('display', 'block');
$(".wholeBody").css('overflow-y', 'hidden');
})
$('.navbar-backs').click(function(){
$(".sec-search").css('display', 'none');
$(".wholeBody").css('overflow-y', 'scroll');
});
$('.navbar-back-fav').click(function(){
$(".sec-favor").css('display', 'none');
})
$('.btn-gotop').click(function () {
$('html, body').animate({
scrollTop: 0
}, 500)
});
$(window).scroll(function() {
if ( $(this).scrollTop() > 500 ){
$('.fixed-btn').fadeIn(222);
} else {
$('.fixed-btn').stop().fadeOut(222);
}
}).scroll();
const searchBtn = document.querySelector('.searchBtn');
const searchBar = document.querySelector('.searchBar');
const searchHotLink = document.querySelectorAll('.sec-search-hots__link');
searchBtn.addEventListener('click', search);
searchBar.addEventListener('keyup', pressSearch);
function search() {
if(searchBar.value == '') {
window.location.href = 'https://m.hhh.com.tw/search/lists/case/';
} else {
window.location.href = `https://m.hhh.com.tw/search/lists/case/${searchBar.value}-keyword/`;
}
}
function pressSearch(e) {
if (e.keyCode === 13) {
e.preventDefault();
search();
}
}
searchHotLink.forEach((item, i) => {
item.addEventListener('click', function() {
window.location.href = `https://m.hhh.com.tw/search/lists/case/${this.textContent}-keyword/`;
})
})
//jQuery time
var current_fs, next_fs, previous_fs; //fieldsets
var left, opacity, scale; //fieldset properties which we will animate
var animating; //flag to prevent quick multi-click glitches
$(".next").click(function(){
if(animating) return false;
animating = true;
current_fs = $(this).parent().parent();
next_fs = $(this).parent().parent().next();
//activate next step on progressbar using the index of next_fs
$(".form-progressbar li").eq($("fieldset").index(next_fs)).addClass("active");
//show the next fieldset
next_fs.animate({opacity: 1}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale current_fs down to 80%
scale = 0 + (1 + now) * .5 ;
//2. bring next_fs from the right(50%)
left = (now * 50)+"%";
//3. increase opacity of next_fs to 1 as it moves in
opacity = 0 + now;
next_fs.css({
'transform': 'scale('+scale+')',
});
next_fs.css({'opacity': opacity});
},
duration: 400,
complete: function(){
next_fs.show();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeInOutBack'
});
//hide the current fieldset with style
current_fs.animate({opacity: 0}, {
step: function(now, mx) {
//as the opacity of current_fs reduces to 0 - stored in "now"
//1. scale current_fs down to 80%
scale = 1 - (1 - now) * 0.2;
//2. bring next_fs from the right(50%)
left = (now * 50)+"%";
//3. increase opacity of next_fs to 1 as it moves in
opacity = 1 - now;
current_fs.css({
'transform': 'scale('+scale+')',
});
next_fs.css({'opacity': opacity});
},
duration: 400,
complete: function(){
current_fs.hide();
animating = false;
},
//this comes from the custom easing plugin
easing: 'easeInOutBack'
});
});