orbit_demo_new_old/modules/announcement/_annc_widget25.html.erb

103 lines
4.2 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="w-annc widget-announcement-4 widget-announcement-25">
<div class="w-annc__more-wrap clearfix">
<h3 class="w-annc__widget-title">
<span>{{widget-title}}</span>
</h3>
<a class="w-annc__more btn btn-primary pull-right" href="{{more_url}}"><%= (I18n.locale.to_s =="zh_tw") ? "更多最新消息" : "More NEWS" %></a>
</div>
<div class="prevnext" style="position: absolute;top: 62%;width:100%; z-index: 101;">
<div style="">
<button id="prev-{{subpart-id}}" class="btn-left" title = "<%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %>" style="float: left;height: 2.5em; width: 2.5em;background: border: 0;background-size: contain;position: absolute;transition:.3s; left: 0.6%; color: #a8a6a6;
background: #fff;
border-radius: 50%;
border: 1px solid #a8a6a6;
z-index: 2;"><i class="fa fa-angle-left prev-button" aria-hidden="true" style=""></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "上一張" : "prev" %></span></button>
<button id="next-{{subpart-id}}" class="btn-right" title = "<%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %>" style="float: right;;height: 2.5em; width: 2.5em;background-size: contain;border: 0;position: absolute;transition:.3s;right: 0.6%; color: #a8a6a6;
background: #fff;
border-radius: 50%;
border: 1px solid #a8a6a6;
z-index: 2;"><i class="fa fa-angle-right next-button" aria-hidden="true" style=""></i><span style="display: none;"><%= (I18n.locale.to_s =="zh_tw") ? "下一張" : "next" %></span></button>
</div>
</div>
<ul class="w-annc__list row cycle-slideshow" data-level="0" data-list="announcements" data-cycle-fx="carousel"
data-cycle-timeout="0"
data-cycle-carousel-visible="3"
data-cycle-carousel-fluid="true"
data-cycle-next="#next-{{subpart-id}}"
data-cycle-prev="#prev-{{subpart-id}}"
data-cycle-slides=".w-annc__item" >
<li class="w-annc__item">
<div class="w-annc__item_inner">
<div class="w-annc__img-wrap bullseye" >
<a href="{{link_to_show}}" aria-label="前往{{widget-title}}" title="{{widget-title}}">
<img class="w-annc__img" src="{{img_src}}" alt="{{img_description}}" title="{{img_description}}">
<div class="transitionfade"></div>
</a>
</div>
<div class="w-annc__content-wrap card">
<div class="w-annc__meta">
<span class="w-annc__status-wrap" data-list="statuses" data-level="1">
<span class="w-annc__status label {{status-class}}">{{status}}</span>
</span>
<span class="w-annc__postdate-wrap" date-format="%Y-%m-%d">
<i class="fa-regular fa-calendar"></i>
<span class="w-annc__postdate">{{postdate}}</span>
</span>
<span class="w-annc__category-wrap">
<i class="fa-solid fa-list"></i>
<span class="w-annc__category">{{category}}</span>
</span>
</div>
<h4 class="w-annc__entry-title">
<a class="w-annc__title" href="{{link_to_show}}">{{title}}</a>
</h4>
<p class="w-annc__subtitle">{{subtitle}}</p>
</div>
</div>
</li>
</ul>
</div>
<script>
$(document).ready(function () {
var $widget = $('.widget-announcement-25');
var $slideshow = $widget.find('.w-annc__list');
function initAnnouncementCarousel() {
var visibleCount = $(window).width() < 768 ? 1 : 3;
// 如果已初始化 → 先 destroy
var api = $slideshow.data('cycle.API');
if (api) {
api.destroy();
}
// 重新初始化(只針對 widget-announcement-25
$slideshow.cycle({
fx: 'carousel',
timeout: 0,
carouselVisible: visibleCount,
carouselFluid: true,
slides: '> .w-annc__item',
// 只抓這個 widget 裡的按鈕
prev: $widget.find('.btn-left'),
next: $widget.find('.btn-right')
});
}
// 初始執行
initAnnouncementCarousel();
// resize 時重新初始化(加 debounce 避免狂 reinit
var resizeTimer;
$(window).on('resize', function () {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function () {
initAnnouncementCarousel();
}, 200);
});
});
</script>