gpt4 book ai didi

javascript - ReactJS - 隐藏具有特定背景图像的 div

转载 作者:行者123 更新时间:2023-11-28 14:25:42 25 4
gpt4 key购买 nike

我有这个 React 组件

    import React, { Component } from 'react'    
import Lightbox from 'react-lightbox-component';

const LightBoxTest = () => (

<div>

<Lightbox images={[
{
src: '../images/pic_01.jpg'
},
{
src: '../images/pic_02.jpg'
},
{
src: '../images/pic_03.jpg'
},
{
src: '../images/decorative_pic.jpg'
},
{
src: '../images/decorative_pic.jpg'
},
{
src: '../images/decorative_pic.jpg'
}
]} />
</div>
);

这种依赖 'react-lightbox-component' 呈现两个 css 类:一个用于图像缩略图,另一个用于每个放大图像:'lightbox-image' 类。当图片在点击后被放大时,它们被转换成一个 Div,它的 scr 被转换成一个背景图像。

如何为背景图片中包含“decorative.jpg”的所有图片删除此类?

我想这样做是因为我不想放大这些名为“decorative.jpg”的图像。我只希望它们作为缩略图。我该如何解决?

最佳答案

使用他们的示例,为了禁用点击缩略图,您可以使用以下代码

import React, { Component } from 'react';
import Lightbox from 'react-lightbox-component';

class LightBoxTest extends Component {
constructor(props) {
super(props);
this.state = {
images: [
{
src: '../images/pic_01.jpg'
},
{
src: '../images/pic_02.jpg'
},
{
src: '../images/pic_03.jpg'
},
{
src: '../images/decorative_pic.jpg'
},
{
src: '../images/decorative_pic.jpg'
},
{
src: '../images/decorative_pic.jpg'
}
]
}
}

render() {
const { images } = this.state;
return (
<div>
<Lightbox
images={images}
renderImageFunc={(idx, image, toggleLightbox, width, height) => {
let onClick = () => null;
const patt = /decorative/g;
if(!patt.test(image.src)) onClick = toggleLightbox.bind(null, idx);
return (
<img
key={idx}
src={image.src}
style={{width: width, height: height}}
onClick={onClick} />
)
}}/>
</div>
)
}
}

export default LightBoxTest;

在这里,在渲染方法中,您可以手动绑定(bind)缩略图的操作,在您的情况下,有一个正则表达式检查图像文件 src 是否包含单词 decorative 以及是否包含 onClick 事件处理程序中返回 null,否则图像将打开。

LE

我已经修改了第一个示例以满足您的需要...

import React, { Component } from 'react';
import Lightbox from 'react-lightbox-component';

class LightBoxTest extends Component {
constructor(props) {
super(props);
this.state = {
images: [
{
src: '../images/pic_01.jpg'
},
{
src: '../images/pic_02.jpg'
},
{
src: '../images/pic_03.jpg'
}
]
}
}

render() {
const { images } = this.state;
return (
<div style={{ display: 'flex', flexDirection:'row' }}>
<div>
<Lightbox
images={images}
thumbnailWidth='150px'
thumbnailHeight='150px'
/>
</div>
<div>
<img src="../images/decorative_pic.jpg" style={{ width: '150px', height: '150px' }} />
<img src="../images/decorative_pic.jpg" style={{ width: '150px', height: '150px' }} />
<img src="../images/decorative_pic.jpg" style={{ width: '150px', height: '150px' }} />
</div>
</div>
)
}
}

export default LightBoxTest;

关于javascript - ReactJS - 隐藏具有特定背景图像的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54745942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com