无需插件,每分钟在不同位置重新定位视频水印

Reposition watermark on video at different positions every minute without plugin

我想每隔一分钟更改一次水印在视频上的位置,例如在右上角,一分钟后在左上角,等等。在播放视频时这样的随机位置。 我通过 CSS 和 jquery 添加了水印。

JQUERY部分-

var email = "testing"; // email varibale was set in one of php file.
var content = '<style>.parent-video:before{content: "'+email+'";}</style>';
$('head').append(content);

CSS部分-

.parent-video::before {  //this is div, parent of video element
    position: absolute;
    opacity: 0.8;
    background: #fff;
    color: #414040;
    font-size: 10px;
    top: 5px;
    right: 10px;
    max-width: 16%;
    word-wrap: break-word;
    max-height: 75%;
}
.parent-video .child-video { // .child-video is video element
    position: unset !important;
}

CSS

一种简单的方法是使用持续时间为 240 秒的 CSS 动画。位置不是随机的,但这是一种简单的方法:

.parent-video::before {
    position: absolute;
    opacity: 0.8;
    background: #fff;
    color: #414040;
    font-size: 80px;
    max-width: 16%;
    word-wrap: break-word;
    max-height: 75%;
    animation: watermark infinite 240s;
}



@keyframes watermark {
        0% {
            bottom: unset;
            top: 5px;
            right: 10px;
            left: unset;
        }
        25% {
            top: unset;
            bottom: 5px;
            left: 10px;
            right: unset;
        }
        50% {
            bottom: unset;
            top: 5px;
            left: 10px;
            right: unset;
        }
        75% {
            top: unset;
            bottom: 5px;
            right: 10px;
            left: unset;
        }
    }

JQuery

或者,您可以使用 JQuery 并使其随机化。首先,你要创建4个CSS 类(4个位置)因为JQuery不能直接访问伪类的样式

所以,这是 CSS:

.parent-video.watermark-top::before {
    bottom: unset;
    top: 5px;
}

.parent-video.watermark-bottom::before {
    bottom: 5px;
    top: unset;
}

.parent-video.watermark-left::before {
    left: 10px;
    right: unset;
}

.parent-video.watermark-right::before {
    left: unset;
    right: 10px;
}

脚本将 运行 永远每 60 秒。水印顶部或底部对齐的可能性为 50%,左侧或右侧对齐的可能性为 50%。

function move() {

    var element = $('.parent-video');
    if (Math.random() > 0.5) //align left
        element.addClass("watermark-left").removeClass("watermark-right");
    else //align right
        element.addClass("watermark-right").removeClass("watermark-left");

    if (Math.random() > 0.5) //align top
        element.addClass("watermark-top").removeClass("watermark-bottom");
    else //align right
        element.addClass("watermark-bottom").removeClass("watermark-top");


}



window.setInterval(move, 60000); //invoke!

要停止无限循环,请使用 clearInterval()

是随机的,它隐含地允许您的水印多次保持相同的位置。