我有一个javascript聊天.当用户收到消息时,我希望标题闪烁直到它变为活动状态.(比如Gmail Talk)
例如:
My website My website和之间眨眼User says: bla bla My website我怎样才能使用jQuery实现这一目标?
到目前为止我尝试了什么:(闪烁永不停止播放)
var isOldTitle = true;
var oldTitle = "oldTitle";
var newTitle = "newTitle";
function changeTitle() {
document.title = isOldTitle ? oldTitle : newTitle;
isOldTitle = !isOldTitle;
setTimeout(changeTitle, 700);
}
changeTitle();
Run Code Online (Sandbox Code Playgroud) 由于Chrome和Opera正在切换到"Blink",他们是否正在改变他们使用的CSS供应商前缀?目前,Opera使用-o-和Chrome使用-webkit-.在将来,我应该包括类似的东西-blink-,还是会保持不变?
我想将Blink动画应用于一个动画,Canvas以便我在其上绘制的所有对象都会闪烁.
我使用下面的代码有点成功,它改变了相当快的Opacity属性Canvas来实现这个效果,但我有点不满意.
我希望FadeOut/FadeIn在我当前的代码中没有任何纯闪烁.我怎么能以正确的方式做到这一点?
var blinkAnimation = new DoubleAnimation
{
From = 1,
To = 0
};
var blinkStoryboard = new Storyboard
{
Duration = TimeSpan.FromMilliseconds(500),
RepeatBehavior = RepeatBehavior.Forever,
AutoReverse = true
};
Storyboard.SetTarget(blinkAnimation, MyCanvas);
Storyboard.SetTargetProperty(blinkAnimation, new PropertyPath(OpacityProperty));
blinkStoryboard.Children.Add(blinkAnimation);
MyCanvas.BeginStoryboard(blinkStoryboard);
Run Code Online (Sandbox Code Playgroud)
也许我可以使用VisibilityProperty它来做到这一点,但我无法做到这一点.
需要使用C#或VB.net使键盘的LED(大写锁定/数字锁定或滚动锁定LED)闪烁.(有或没有使用互操作是好的)
块闪烁 .hover()
这是一个完整的例子 - http://jsfiddle.net/xBEjQ/
如何解决这个问题?
UPD:鼠标离开较小的块(.image)后,应该删除弹出窗口,而不是.popup阻止.
我知道眨眼不是一件好事.然而...
我有一个很复杂的HTML表单,包含许多必填字段.除了突出显示空文本框,我想通过闪烁问题的文本大约三秒钟来引起他们的注意.
我可以找到的所有javascript/css方法似乎都会在有多个这样的项目闪烁时被忽略,或者是为了让项目一直闪烁而设计的.
有关如何实现这一目标的任何建议?
什么是网页中闪烁文本的替代方法?看起来有点矫枉过正.
谢谢
德里克
我已经尝试了这个(闪烁每个指定的跨度超过三秒),但它只适用于它所要求的第一个项目:
function blinkOn(span){
span.counter=0;
span.defColor=span.style.color;
span.alertTimerId =setInterval("blinkOnce('"+span.id+"')", 400 );
}
function blinkOnce(spanID){
var span=document.getElementById(spanID)
span.counter++;
if(span.style.color==span.defColor){
span.style.color='transparent'}
else{
span.style.color=span.defColor;
}
if(span.counter>8){
blinkOff(span);
}
}
function blinkOff(span){
clearInterval(span.alertTimerId);
span.style.color=span.defColor;
}
Run Code Online (Sandbox Code Playgroud) 我用很少的吉祥物创建这个网站,我将实现一个"眨眼计时器",我会让每个吉祥物都眨眼.
我的问题是:我如何实现(以及它有多长?)闪烁和眨眼之间的延迟,在任何语言上(我可能会使用Javascript,但现在没关系).
有没有关于"眨眼算法"的资源或类似的东西?
编辑:我知道如何使用setTimeout和setInterval,我的问题更多的是关于算法而不是实现本身.
最后结果:
var blink = {
delay: function() {
return Math.random() * 8000 + 2000;
},
duration: function() {
return 100 + Math.floor(Math.random() * 100);
},
blinkAgain: function() {
return (Math.random() < .2);
},
betweenBliks: function() {
return blink.duration() / 2;
}
};
$.fn.blink = function(continueBlinking) {
var $element = $(this);
// Star the blink
$element.addClass('blink');
// Finish the blink
setTimeout(function() {
$element.removeClass('blink');
// Change of blinking again
if (blink.blinkAgain()) {
setTimeout(function() {
$element.blink(false);
}, blink.betweenBliks());
} …Run Code Online (Sandbox Code Playgroud) b1.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
try {
Class.forName("com.mysql.jdbc.Driver");
connect = DriverManager
.getConnection("jdbc:mysql://localhost:3306/project?"
+ "user=root&password=virus");
statement = connect.createStatement();
preparedStatement = connect
.prepareStatement("select * from mark where clsnum = " + txt1.getText() + "");
rs = preparedStatement.executeQuery();
if (rs.next()) {
delete();
} else {
msg.setText("Student Not Found...!");
}
} catch (ClassNotFoundException | SQLException ex) {
Logger.getLogger(DeleteMark.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是我的代码,如果查询不起作用,则显示消息(我的意思是如果没有行返回到ResultSet rs).msg是Text的对象,其声明和其他细节是 -
Text msg = new Text();
msg.setFont(Font.font("Calibri", FontWeight.THIN, 18));
msg.setFill(Color.RED);
Run Code Online (Sandbox Code Playgroud)
我希望文本在一段时间后消失,比如3或4秒.是否可以在JavaFX中执行此操作(借助计时器或您知道的其他内容)?如果有,怎么样?
我正在写一个案例来测试 flink 两步提交,下面是概述。
sink kafka曾经是kafka生产者。sink step是 mysql 接收器扩展two step commit。sink compare是mysql的sinkextend two step commit,这个sink偶尔会抛出异常来模拟检查点失败。
当检查点失败并恢复时,我发现mysql两步提交可以正常工作,但是kafka消费者将读取上次成功的偏移量,并且kafka生产者会产生消息,即使他在这个检查点失败之前已经完成了。
在这种情况下如何避免重复消息?
感谢帮助。
环境:
弗林克1.9.1
爪哇1.8
卡夫卡2.11
卡夫卡生产者代码:
dataStreamReduce.addSink(new FlinkKafkaProducer<>(
"flink_output",
new KafkaSerializationSchema<Tuple4<String, String, String, Long>>() {
@Override
public ProducerRecord<byte[], byte[]> serialize(Tuple4<String, String, String, Long> element, @Nullable Long timestamp) {
UUID uuid = UUID.randomUUID();
JSONObject jsonObject = new JSONObject();
jsonObject.put("uuid", uuid.toString());
jsonObject.put("key1", element.f0);
jsonObject.put("key2", element.f1);
jsonObject.put("key3", element.f2);
jsonObject.put("indicate", element.f3);
return new ProducerRecord<>("flink_output", jsonObject.toJSONString().getBytes(StandardCharsets.UTF_8));
}
}, …Run Code Online (Sandbox Code Playgroud) 我试图了解 v8 是如何工作的,但我无法找到代码中的位置,它实际上获取输入原始 js 脚本来解析它并将其编译为 C++。
\n我看过 api.cc 并尝试在编译器函数中设置断点,但没有运气(我使用 chromium 来这样做),它永远不会命中这个函数。
\nMaybeLocal<Script> ScriptCompiler::Compile(Local<Context> context,\n Source* source,\n CompileOptions options,\n NoCacheReason no_cache_reason)\n\nRun Code Online (Sandbox Code Playgroud)\n***** 更新 ****
\n在 @jmrk 回复之后,我一直在试图弄清楚 JS 实际上是从哪里开始进来的,我真正感兴趣的是了解网站如何呈现,然后将脚本传递到 V8 中进行编译。\n我发现有关该主题的大量信息,但我仍然无法理解整个情况:
\n结果第一步不是解析器而是扫描器,它获取 UTF-16 流作为输入。
\n\n\n源代码首先被分成块;每个块可能与不同的编码相关联。然后,流将所有块统一为 UTF-16 编码。
\n在解析之前,扫描器会将 UTF-16 流分解为令牌。标记是具有语义的脚本的最小单元。标记有多种类别,包括空格\n(用于自动分号插入)、标识符、关键字和代理对(仅当该对不被识别为其他内容时才组合起来形成标识符)。然后,这些标记首先被馈送到预解析器,然后再馈送到解析器。
\n
https://blog.logrocket.com/how-javascript-works-optimizing-for-parsing-efficiency/
\n我还发现它确实从 Blink 获取了这个流:
\n\n\n\n\nUTF16CharacterStream 提供了 V8 从 Chrome 接收的底层 Latin1、UTF-8 或 UTF-16 编码的(可能是缓冲的)UTF-16 视图,而 Chrome 又从网络接收这些编码。除了支持多种编码之外,扫描仪和字符流之间的分离允许 V8 透明地扫描,就好像整个源都可用一样,即使到目前为止我们可能只通过网络收到了一部分数据。
\n
扫描仪似乎也将标记提供给解析器:
\n\nV8\xe2\x80\x99s …