/* 新增鍵盤左右鍵切換作品的功能 */
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;
    }
});

Two Horizons

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-2017
Photographic Paper Framing
In Two Horizons, the field of vision no longer serves as a projection of space, but rather as a deferred structure of perception. Two seemingly unrelated images are nested under a certain principle: on the left is a uniformly lit horizon over the sea, while on the right is a fractured geometry formed by the imbalance of a ship's hull and breakwaters. However, they are connected by some unnamed horizontal lines, serving as the alignment point of the visual field, prompting a reconsideration of image composition.

Today, images are composed of asynchronous fields of different time sequences, technological interfaces, and viewing states. The line of sight is no longer emitted from a single point but distributed across devices and layers, forming a system of distributed gaze. In such an environment, the image we face has shifted from content to a fluid intermediary space. The relational structure between the images has long surpassed the indexicality of the moment of capture and has entered a compositional syntax: the relationship is no longer linear or narrative, but based on the folding and displacement between layout, alignment, and viewing positions. Through this structural “nested vision,” the images are momentarily aggregated into a field that can be contemplated. Under these viewing conditions, photography becomes a meta-practice: it is no longer about capturing images, but about arranging and questioning the position of vision itself.

Two Horizons deals with this very meta-vision mechanism: photography is no longer a microcosm of the world, but an expansion, intertwining, and encoding of the conditions of vision. The line of sight between the photographer, the camera, and the viewer is compressed into the same image plane, overlapping but unable to merge. In this context, the image no longer necessarily carries the intention of narrative, memory, or representation, but becomes a minimalist philosophical act: composition remains a perceptual choice that can be retrieved, while viewing becomes an ongoing mode of thinking.
2026 CopyRight ©