javascript - 在 foreach 循环外调用 javascript 函数
问题描述
我的 JavaScript 函数有问题,当我将脚本放在 foreach 循环中时,就像代码一样,我下面的一切工作正常,但我认为它应该在外面,所以任何人都可以给我建议来解决这个问题,我很感激
@foreach($messages->reverse() as $message )
<ul class="id{{$message->id}}" data-id="{{$message->id}}">
<li class="message">
<div class="text {{ ($message->to!=Auth::user()->id)?'not_owner':'owner'}}">
{{$message->text}}
</div><br>
</li>
<li class="message">
<div class="time {{ ($message->to!=Auth::user()->id)?'not_owner':'owner'}}">
<div style="display: flex; flex-wrap: nowrap;">
@if($message->to!=Auth::user()->id)
<div style="display: table">
<a onclick="togglediv('item{{ $message->id }}')" class="toggle{{$message->id}} hidden" style=" text-decoration: none; margin-right: 5px; cursor: pointer" > <span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span></a>
<div id="item{{ $message->id }}" style="display:none;"><button value="{{$message->id}}" class="btn-remove" >remove</button></div>
</div>
@endif
{{ \Carbon\Carbon::parse($message->created_at)->format('M d, h:i')}}
</div>
</div>
</li>
</ul>
<script>
$('.id{{ $message->id }}').hover(function(){
$('.toggle{{ $message->id }}').toggleClass('hidden');
});
</script>
@endforeach
解决方案
选择<ul>
与类id
并获取当前悬停元素的数据属性并隐藏相应的切换类。
@foreach($messages->reverse() as $message )
<ul class="id" data-id="{{$message->id}}">
<li class="message">
<div class="text {{ ($message->to!=Auth::user()->id)?'not_owner':'owner'}}">
{{$message->text}}
</div><br>
</li>
<li class="message">
<div class="time {{ ($message->to!=Auth::user()->id)?'not_owner':'owner'}}">
<div style="display: flex; flex-wrap: nowrap;">
@if($message->to!=Auth::user()->id)
<div style="display: table">
<a onclick="togglediv('item{{ $message->id }}')" class="toggle{{$message->id}} hidden" style=" text-decoration: none; margin-right: 5px; cursor: pointer" > <span class="dot"></span>
<span class="dot"></span>
<span class="dot"></span></a>
<div id="item{{ $message->id }}" style="display:none;"><button value="{{$message->id}}" class="btn-remove" >remove</button></div>
</div>
@endif
{{ \Carbon\Carbon::parse($message->created_at)->format('M d, h:i')}}
</div>
</div>
</li>
</ul>
@endforeach
<script>
$(document).ready(function () {
$('.id').hover(function(){
let id = $(this).attr('data-id');
$('.toggle' + id).toggleClass('hidden');
}, function () {
let id = $(this).attr('data-id');
$('.toggle' + id).toggleClass('hidden');
});
});
</script>
推荐阅读
- scala - 如何找到网格邻居(x,y 作为整数)将它们分组并计算它们在 spark 中的值的平均值
- java - 类 org.springframework.security.core.userdetails.User 不能被强制转换
- python - 如何在python中建模特殊类实例
- swift - AppCode PSI 插件开发 - 查找参考协议属性
- javascript - 为什么在 Chrome 中模拟移动设备时 React 触发事件的顺序不同?
- python - 使用通配符进行递归遍历而不添加额外的目录级别
- email - Google Apps 脚本 - 更新 Google 工作表中的行时发送电子邮件
- amazon-web-services - 从 aws_api_gateway_rest_api 迁移到 aws_apigatewayv2_api 松散的 OpenAPI 集成
- python - 带有自定义小部件和间隔的 PyQt 滚动区域
- javascript - 使用 Json 反应上下文 Api