/* 新增鍵盤左右鍵切換作品的功能 */
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";
        }
    }
});
2015-2016
木作迴廊、相紙錶框
動態影像:〈黑是自然〉 16:30

《夜遊》是一件以黑暗為題材的作品,它構築了一個「觀看」消解後仍得以持續存在的影像場。作品由三部分構成:一條封閉迴廊的黑暗動線、一組幾乎無可辨識的靜態影像,以及一支名為〈黑是自然〉的錄像。錄像紀錄了藝術家與友人摸黑入山、尋找傳說中「嗚嗚」的過程;然而真正被拍攝下來的,卻是一連串黑暗中的運動——在黑中行走,在黑中聆聽,在黑中凝視與等待。

黑,在這場作品中,並不作為象徵(恐懼、無知、死亡),而是一種實然的感知介質:不可見、不可記錄。如同某種尚未被命名的存在狀態,黑暗不是事物的遮蔽,而是存在之不具輪廓的顯現。若影像是一種「可見之物的生產機制」,那麼此作正是從視覺條件的邊緣處開始,重新思索觀看的條件。

於是,觀看不再是主體的操作,也非世界的可展現性。它的主權被懸置,失去了命名與測量的位置。觀看者不再是凝視他者的中心,而是被黑暗環繞的感知點,是被黑暗所包覆、所觸及、所等待的在場者。

當觀者步入裝置的內部,觀看即被迫延遲,甚至無法成立。時間不再僅屬於觀看者,而是影像自身的生成條件。聲音成為感知的主要軸線——耳語、枝葉的摩擦、腳步的回聲與遠處難辨的低頻震動,編織出一種未明的空間結構,使黑不僅僅是環境,更是觀看秩序中的他者:它不反射、不確認、不還原,而是純粹地「在那裡」。

在這種條件下,觀看不再是佔有,而是一種曝露;不再是知覺的範疇,而是存有的共現。觀者與影像共處於一個無法命名的場域中,只有某種幽微的在場感,如氣息般無以度量,卻深刻如觸。

如果說光為事物賦予輪廓與可辨性,那麼黑則是回收了這種世界性。它摧毀了影像的邊界,使一切輪廓再次滑入不確定的深處。這正是《夜遊》所構造的倫理影像:不是觀看者在觀看影像,而是觀看者與他者一起暴露在某種無須命名的關係中。

這不是影像的消失,而是影像性本身的重新探索。《夜遊》並不企圖修復視覺的缺席,而是正面肯定不可見性視為影像的原初條件。觀看者在此被抽離主體性,成為那「無可逃避的存在狀態」中的一部分——不是看見,而是與黑共在,與自然的影像狀態共處。

2025 CopyRight ©