html实现流转效果,css和js实现瀑布流效果示例

瀑布流效果

c3ab50acc16e47c4e74073de5af03281.png

html代码

复制代码代码如下:

图片介绍和描述

此为介绍和描述

图片介绍和描2述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述2

图片介绍和描3述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述3

图片介绍和描4述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述4

图片介绍和描5述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述5

图片介绍和描述

此为介绍和描述

图片介绍和描2述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述2

图片介绍和描3述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述3

图片介绍和描4述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述4

图片介绍和描5述

此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述此为介绍和描述5

css样式代码

复制代码代码如下:

*{ margin:0px; padding:0px;}

.wrap{ padding:15px;}

.bigbox{ width:100%; position:relative;}

.listbox{ width:23%; padding:1%; position:absolute; box-shadow:0 0 1px #CCC;}

.listbox-con{ background:#fefefe;}

.listbox-con h2{ font-size:16px; color:#333;}

.listbox-con p{ font-size:14px; color:#666;}

插件代码

复制代码代码如下:

(function($){

var defaults ={

wflist:'.listbox'

};

$.fn.waterfal = function(opt){

opt =$.extend({},defaults,opt);

// 变量

var obj = $(this);//当前对象

var wfwidth = $(opt.wflist).outerWidth(true),

minHeight = 0,

maxcol=Math.floor($(window).width()/wfwidth);

(function(wflist,maxcol,wfwidth,minHeight){

var wfarr = new Array(),minHeight = 0,minCol=0;

for(i=0;i

colHeight=wflist.eq(i).outerHeight(true);

if(i

wfarr[i] = colHeight;

wflist.eq(i).css({'top':0,left:i*wfwidth});

}else{

minHeight=Math.min.apply(null,wfarr);//

minCol = getArrayKey(wfarr, minHeight);

wfarr[minCol] += colHeight; //加上新高度后更新高度值

wflist.eq(i).css({"top":minHeight,left:minCol * wfwidth}); //先得到高度最小的Li,然后把接下来的li放到它的下面

}

wflist.eq(i).attr('id',"post_"+i);

};

})( $(opt.wflist),maxcol,wfwidth,minHeight);

function getArrayKey(wfa,minh){//使用for in运算返回数组中某一值的对应项数(比如算出最小的高度值是数组里面的第几个)

for( ind in wfa ) {

if( wfa[ind] == minh) {

return ind;

}

}

};

var wfAreaH = parseInt( $(opt.wflist).last().css("top")) + $(opt.wflist).last().outerHeight(true)+ "px"; //显示区域的高度为 最后一个元素的Top值+自身高度

obj.css({ "width":wfwidth * maxcol,"height":wfAreaH }); //设置显示区域宽度和高度

}

})(jQuery);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 下面是一个简单的示例代码,展示了如何使用 Java 将 PCM 数据流转换为 TRMP 数据流: ``` import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import org.jaudiotagger.audio.AudioFileIO; import org.jaudiotagger.audio.mp3.MP3AudioHeader; import org.jaudiotagger.audio.mp3.MP3File; public class PCMToTRMP { public static void main(String[] args) throws Exception { // 定义 PCM 数据流的格式 AudioFormat pcmFormat = new AudioFormat(44100, 16, 2, true, false); // 读取 PCM 数据流 AudioInputStream pcmStream = AudioSystem.getAudioInputStream(pcmFile); // 将 PCM 数据流转换为 TRMP 数据流 ByteArrayOutputStream trmpStream = new ByteArrayOutputStream(); AudioSystem.write(pcmStream, AudioFileFormat.Type.MP3, trmpStream); pcmStream.close(); // 将 TRMP 数据流入文件 File trmpFile = new File("output.mp3"); FileOutputStream fos = new FileOutputStream(trmpFile); fos.write(trmpStream.toByteArray()); fos.close(); } } ``` 在这段代码中,我们首先读取了一个 PCM 数据流,然后使用 `AudioSystem.write()` 方法将其转换为 TRMP 数据流,最后将转换后的 TRMP 数据流入文件。 请注意,这段代码使用的是 javax.sound 包中的类,因此在使用这段代码之前,你需要在项目中添加对 javax.sound 包的引用。 希望这段代码能够帮助你。如果你有任何疑问,请随时追问。 ### 回答2: Java可以通过使用FFmpeg库来实现PCM流转为MP3流的示例代码。下面是一个简单的示例代码: ```java import org.bytedeco.ffmpeg.global.avcodec; import org.bytedeco.javacv.*; public class PCM2MP3Converter { public static void main(String[] args) { // 输入PCM流文件路径 String pcmFilePath = "path_to_pcm_file"; // 输出MP3流文件路径 String mp3FilePath = "path_to_mp3_file"; // 初始化FFmpegFrameGrabber FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(pcmFilePath); grabber.setAudioChannels(2); // 设置声道数 grabber.setSampleRate(44100); // 设置采样率 grabber.setAudioCodec(avcodec.AV_CODEC_ID_PCM_S16LE); // 设置音频编码器 grabber.start(); // 初始化FFmpegFrameRecorder FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(mp3FilePath, 2); recorder.setAudioChannels(2); // 设置声道数 recorder.setSampleRate(44100); // 设置采样率 recorder.setAudioCodec(avcodec.AV_CODEC_ID_MP3); // 设置音频编码器 recorder.setFormat("mp3"); // 设置输出格式 recorder.start(); Frame frame; // 逐帧读取PCM流并转码为MP3流 while ((frame = grabber.grabFrame()) != null) { recorder.record(frame); } recorder.stop(); grabber.stop(); } } ``` 在上述示例代码中,我们使用了JavaCV库,该库提供了对FFmpeg的Java封装,在Java中实现了PCM转MP3的功能。首先,我们使用`FFmpegFrameGrabber`打开PCM流文件,设置了声道数、采样率和音频编码器。然后,我们再使用`FFmpegFrameRecorder`创建一个MP3流文件,并设置了相同的声道数、采样率和音频编码器。接着,我们逐帧读取PCM流,并通过`recorder`将其转码为MP3流。最后,我们分别停止`recorder`和`grabber`的运行。 需要注意的是,这里只是给出了一个简单的示例代码,实际使用时,你可能还需要根据自己的需求进行更多的配置和错误处理。 ### 回答3: 要实现将PCM流转为MP3流,我们可以借助第三方库来实现。以下是一个示例代码: ```java import java.io.*; import javax.sound.sampled.*; public class PCMtoMP3Converter { public static void main(String[] args) { File inputFile = new File("input.pcm"); File outputFile = new File("output.mp3"); convertPCMtoMP3(inputFile, outputFile); } public static void convertPCMtoMP3(File inputFile, File outputFile) { try { AudioInputStream pcmStream = AudioSystem.getAudioInputStream(inputFile); AudioFormat pcmFormat = pcmStream.getFormat(); AudioFormat mp3Format = new AudioFormat(AudioFormat.Encoding.MPEG_1_LAYER_3, pcmFormat.getSampleRate(), 16, pcmFormat.getChannels(), pcmFormat.getChannels() * 2, pcmFormat.getSampleRate(), false); AudioInputStream mp3Stream = AudioSystem.getAudioInputStream(mp3Format, pcmStream); AudioSystem.write(mp3Stream, AudioFileFormat.Type.MP3, outputFile); pcmStream.close(); mp3Stream.close(); System.out.println("转换完成!"); } catch (UnsupportedAudioFileException | IOException e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们首先指定输入的PCM文件路径和输出的MP3文件路径。然后,通过调用`convertPCMtoMP3()`方法,我们将PCM流转换为MP3流并输出到指定的文件。这里使用了`AudioSystem`类提供的方法来获取PCM流和MP3流,并通过`AudioSystem.write()`方法将MP3流入文件中。 请注意,上述代码需要依赖Java的音频处理库,如Java Sound API。你可能需要在项目中添加相应的库文件。另外,由于PCM和MP3之间的转换涉及到音频编码和解码的复杂过程,所以在实际应用中可能需要更多的处理和配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值