我是一个网络开发的初学者.作为练习的一部分,我想修改以下链接的脚本代码. 我想使按钮元素可点击.

https://codepen.io/hexagoncircle/pen/jgGxKR?editors=0010


  const slide1Button = document.querySelector('.btn'); 
  slide1Button.addEventListener('click', function() {
  window.open(slideData[0].url);
  }); 


  const slide2Button = document.querySelector('.btn'); 
  slide2Button.addEventListener('click', function() {
  window.open(slideData[1].url);
  }); 


const slideData = [
{
  index: 0,
 
  button: 'VISITER',
  url: 'https://www.interflora.fr/',
  src: 'https://lecoqetlecerisier.files.wordpress.com/2011/05/dsc037411.jpg' },
 

{
  index: 1,

  button: 'VISITER',
  url: 'https://www.123fleurs.com/',
  src: 'http://idata.over-blog.com/1/39/34/32/Poitiers-Ici-et-La/Macro-fleur-rose.JPG' },

{
  index: 2,

  button: 'VISITER',
  url: 'https://www.aquarelle.com/',
  src: 'http://monmondevirtuel.m.o.pic.centerblog.net/o/91d323e8.jpg' },

{
  index: 3,

  button: 'VISITER',
  url: 'https://www.florajet.com/',
  src: 'http://www.juille.com/images/006_3.JPG' }
];

我已经添加了代码

它是半途而废的,因为我不能确定对于Slide Current,它会 Select 相应的按钮,然后在点击时,会根据SlideData表中写入的URL进行重定向.

这只 Select 了表格的第一个url,我想让元素交互,并让它跟随当前幻灯片.

如果有人能在我的方法上帮助我或建议我.

推荐答案

您可以在Slide组件本身的按钮上添加onClick事件.

幻灯片组件->;Render()

<button className="slide__action btn" onClick={() =>  window.open(url, '_blank')}>{button}</button>

不要忘记将URLprops 导入到幻灯片组件中

const { src, button, headline, index, url  } = this.props.slide

下面是一个有效的例子:CodePen

希望这能有所帮助

Javascript相关问答推荐

如何从一个列表中创建一个2列的表?

cypress中e2e测试上的Click()事件在Switch Element Plus组件上使用时不起作用

加载背景图像时同步旋转不显示的问题

如果Arrow函数返回函数,而不是为useEffect返回NULL,则会出现错误

为什么我的getAsFile()方法返回空?

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

类构造函数忽略Reaction Native中的可选字段,但在浏览器中按预期工作

邮箱密码重置链接不适用于已部署的React应用程序

在FAQ Accodion应用程序中使用React useState时出现问题

AJAX POST在控制器中返回空(ASP.NET MVC)

如何在Press上重新启动EXPO-AV视频?

更新Redux存储中的对象数组

不同表的条件API端点Reaction-redux

在JS/TS中将复杂图形转换为数组或其他数据 struct

Socket.IO在刷新页面时执行函数两次

有没有办法通过使用不同数组中的值进行排序

如何使用Reaction路由导航测试挂钩?

我怎样才能点击一个元素,并获得一个与 puppeteer 师导航页面的URL?

从异步操作返回对象

当一条路由在Reaction路由中命中时,如何有条件地渲染两个组件或更改两个插座?