/* 新增鍵盤左右鍵切換作品的功能 */
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";
        }
    }
});
2012
水泥、木材、樹脂
80.5 x 238.5cm

這是一幅靜默的城市立面,也是一組被觀看的單位的集合。如同一場不帶情緒的統計——由超過三百個混凝土模件構成,每一塊皆為同一扇簡化的窗,被排列、堆疊、鑲嵌,沒有玻璃,沒有反射,也沒有內部。如同測量城市如何以視覺節奏運作的系統圖。一眼望去,它似城市的夜景,又像從遠方拍攝下的訊號頻譜,密集、規律,卻毫無溫度。

藝術家將漫遊城市的情境分離:城市不再是關於移動的空間,而是由無數面向外部的窗所構成的表層,一種極度扁平的深度幻覺。窗不再是居所的痕跡,而成為構成城市表層的基本單位,它們像是被遺棄的訊息端口,一個個啟用又斷訊的燈號。

不同質地的水泥模件帶出極其細緻的灰階差異,這些差異並不強烈,卻在排列之中產生出律動,如夜晚高樓林立的輪廓線,在一種近乎數位化的冷冽邏輯中展開。視覺上,它像是一幅抽象的城市近景,也像是一道不斷滑動的訊號界面:資訊密集卻無意義,這些窗件的數量與尺度,彷彿模擬的聲譜:每一格皆可能是聲響的發生處,或靜默的迴盪。

《城市夜晚》呈現了城市的無法介入。你站在它面前,卻找不到進入的入口。它不透明,卻也不封閉;它過度繁複,卻無細節。城市在此顯得透明而空洞,不是因為它什麼也沒有,而是因為它太多——多到失焦。那是一種不斷退後的觀看——愈接近,愈無法定位自己的位置,像站在一道牆前,聽見自己的呼吸反彈回來,卻感覺不到回應的身體。

這種觀看是一種抽離,也是一種無從連結的孤獨。作品沒有敘事,沒有開口,也沒有邀請。它只是靜靜地站在那裡,成為一個巨大的訊息牆,一個將城市中的個體經驗壓縮為結構單位的沉默界面。你知道每一扇窗後可能都有一個故事,但作品不允許你靠近;那不是殘酷,而是一種更深層的距離——人與城市、人與人之間,不可逾越的空間格點。

2025 CopyRight ©