勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

「slick」で作成したスライダー画像にランキングの順位を表示する方法

「slick」で作成したスライダー画像に対して、ランキングの順位を表示したいというケースがあった。PHPが利用可能な環境であれば画像と一緒に順位も表示し、それをCSSで対応するような形を検討するがASPを用いたサイトのためPHPは利用不可だった。そのためCSSのみで対応する方法をメモ。

 

サンプル

https://taitan916.info/sample/slick/ranking/

スライダー画像右上に「〇位」と表示されるのが確認できる筈。

 

対応方法

ソースコード

<style>
body{
    counter-reset: number 0;
}
#slider{
    .slick-slide{
        position: relative;
    }
    .slick-slide::before{
        top: 10px;
        right: 10px;
        width: 35px;
        height: 35px;
        font-size: 1rem;
        content: counter(number) '位';
        counter-increment: number 1;
        position: absolute;
        background-color: #000;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
    }
}

</style>

<div id="slider">
    <div><img src="./img/001.jpg"></div>
    <div><img src="./img/002.jpg"></div>
    <div><img src="./img/003.jpg"></div>
    <div><img src="./img/004.jpg"></div>
    <div><img src="./img/005.jpg"></div>
</div>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick-theme.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.css">
<script>
$(function(){
    $(`#slider`).slick({
        dots: true,
        infinite: false,
        slidesToShow: 1,
        centerMode: false,
        variableWidth: true
    });
});
</script>

解説等

infiniteをtrue(スライドのループを有効)にすると順位がずれるので注意すること。

 

リファレンス

counter()

https://developer.mozilla.org/ja/docs/Web/CSS/counter

counter-increment

https://developer.mozilla.org/ja/docs/Web/CSS/counter-increment

 - jQuery JavaScript CSS

  関連記事

PHPでスマホ(iPhone / Android)に画像をダウンロードさせる方法とダウンロード後の保存場所について
PHPでスマホ(iPhone / Android)に画像をダウンロードさせる方法とダウンロード後の保存場所について

PHPで作ったシステムにスマホ(iPhone / Android)でアクセスし何 ...

jQuery.uploadでリアルタイムプレビュー
jQuery.uploadでリアルタイムプレビュー

やりたい事は、 ・<input type="file">で画像を選択 ...

バニラJS対応(jQuery非依存)の画像遅延読み込みプラグイン「echo.js」の利用方法
バニラJS対応(jQuery非依存)の画像遅延読み込みプラグイン「echo.js」の利用方法

あるサイトをブラウザの開発者ツールで見ていると「echo.js」と聞いたことの無 ...

PHPにて「ImageHash」ライブラリを使用し画像の類似度を算出する方法
PHPにて「ImageHash」ライブラリを使用し画像の類似度を算出する方法

以前にPHPの「image-comparator」ライブラリで画像の類似度を算出 ...

JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法

サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...