/* 新增鍵盤左右鍵切換作品的功能 */
document.addEventListener('DOMContentLoaded', function() {
  // 取得按鈕元素
  const prevButton = document.querySelector('.prev-post');
  const nextButton = document.querySelector('.next-post');

  // 監聽鍵盤事件
  document.addEventListener('keydown', function(event) {
    // 判斷按下的按鍵
    if (event.key === 'ArrowLeft' && prevButton) { // 檢查 prevButton 是否存在
      if (prevButton.href) { // 檢查 prevButton 是否具有 href 屬性
        // 觸發上一篇連結
        window.location.href = prevButton.href;
      }
    } else if (event.key === 'ArrowRight' && nextButton) { // 檢查 nextButton 是否存在
      if (nextButton.href) { // 檢查 nextButton 是否具有 href 屬性
        // 觸發下一篇連結
        window.location.href = nextButton.href;
      }
    }
  });
});
jQuery(document).ready(function($) {
    var header = $('.singlework-header');
    var headerHeight = header.outerHeight();
    var isHeaderVisible = false;
    var scrollThreshold = 10; //定滾動多少 px 才會觸發
    var lastScrollTop = 0;
    var headerContainer = $('.singlework-page');
    var scrollTimeout = null; //向上滾動時,延遲多久才會顯示

    $(window).on('load', function() {
        header.css('top', -headerHeight + 'px');
    });

    $(document).mousemove(function(event) {
        if (event.pageY < 50 && !isHeaderVisible) {
            showHeader();
        }
    });

    headerContainer.scroll(function() {
        var scrollTop = $(this).scrollTop();
        var delta = scrollTop - lastScrollTop; // 計算滾動方向

        if (!isHeaderVisible) {
            // 向上滾動超過閾值時,延遲顯示 header
            if (delta < 0 && Math.abs(delta) > scrollThreshold) {
                if (scrollTimeout) {
                    clearTimeout(scrollTimeout);
                }
                scrollTimeout = setTimeout(function() {
                    showHeader();
                }, 150);
            }
        } else {
            // **只有向下滾動時才關閉 header**
            if (delta > 0 && Math.abs(delta) > scrollThreshold) {
                hideHeader();
            }
        }

        lastScrollTop = scrollTop;
    });

    $(document).click(function(event) {
        if (!$(event.target).closest('.singlework-header').length && isHeaderVisible) {
            hideHeader();
        }
    });

    function showHeader() {
        header.addClass('show');
        isHeaderVisible = true;
    }

    function hideHeader() {
        header.removeClass('show');
        isHeaderVisible = false;
    }
});

風吹向沒有

false

document.addEventListener("DOMContentLoaded", function() {
    // 獲取 meta field 的隱藏元素
    let metaFieldElement = document.querySelector(".singlework-pure-en-title-switcher");
    
    // 獲取 .singlework-title 標題
    let postTitle = document.querySelector(".singlework-title");

    // 確保 metaFieldElement 和 postTitle 存在
    if (metaFieldElement && postTitle) {
        // 讀取 meta field 的值並去除前後空格
        let metaValue = metaFieldElement.innerText.trim().toLowerCase();

        // 如果 meta field 值是 "true",則將字距設為 0
        if (metaValue === "true") {
            postTitle.style.letterSpacing = "0";
        }
    }
});
2016
數位輸出錶貼於牆面、木架、相紙錶框

《風吹向沒有》是一件極度簡約卻充滿縫隙感的作品:一幅來自電子遊戲的數位人物肖像,被裱框、靜置於一面模擬磁磚的純白牆面之中。畫中人物雙眼微閉,彷彿正處於一次眨眼尚未完成的中途;整件作品如同一行遺落在語句之外的詩,靜靜地、不容約地存在著。

這段畫面源自虛擬空間:人物是演算的產物,環境亦無地可循。連那次眨眼,也非神經反射的殘影,而是一段動畫程式中的時間節點——它無所謂始終,無所謂因果,不屬於某個人的記憶,也未曾在現實中發生。是觀者視線所召喚出的感知:那一刻,影像獲得了時間與身體上的意義,成為一場僅能由觀看附會而成的存在事件。

風,在這裡不再是物理的氣流,而是一種難以指認卻確實作用於感知的關係力。它不可見,無法紀錄,但卻在觀看者與影像之間構成一種互相滲透的感知關係——沒有吹向之物,而是潛入介於影像與身體之間那既不在場、也無可觸及的中介空間。

這並非僅僅關乎影像的再現問題,而是一種奇異的交換場合:真實與虛構、在場與缺席、觀看與被觀看,這些無從歸類的感知經驗,使我們重新反思影像與我們的關係:它不必然承載現實,而更可能僅是知覺中的偶發——一段生成中的情動,一道無以歸屬的風。

作品中的寧靜與稀薄,像是一次溫柔的干擾,它不以圖像的重量壓抑我們,而在觀看中呈現一種清新的「輕」,在觀者毫無防備之際,以微弱卻鮮活的感觸靠近,就像我們眨眼時所錯過的每一瞬。

2025 CopyRight ©